如何将数组限制为 5 个项目并将新项目放在列表顶部

汤姆

我想打印一个分数列表,限制为 5。最新的分数在顶部。该应用程序是一个简单的计时器,用户可以按住按钮,松开,然后点击完成!按钮设置得分状态。当前,当单击完成时,从 scoreArray 打印在应用程序上的分数会成倍地重复多次!按钮。

该代码目前是我被建议尝试的代码,但它不起作用。

用分数设置状态:

onSubmit() {

                this.setState(prevState => ({
                    scoreArray:[this.state.scoreArray.concat(ms(this.state.time,{verbose: true})), ...prevState.scoreArray],
                    time:0,
                    submit:true

                  }));

在渲染中我有这个:

{this.state.scoreArray.map(function(item,i){

          return (i < 5) ? <Text key={i}>{item}</Text> : null}).filter(x=>x)

          }

我希望分数列表在顶部填充最新分数,将较旧的分数向下推,当分数限制 > 5 时,这些较旧的分数消失。

阿希什·阿格拉哈里

您再次在“scoreArray”中提供了一个数组,因此是嵌套结构。尝试将 setState 调用更改为:`

 this.setState(prevState => ({
                    scoreArray:[ms(this.state.time,{verbose: true}), ...prevState.scoreArray],
                    time:0,
                    submit:true

                  }));

`

通过这种方式,您可以在数组顶部添加一个新元素,然后在新数组中扩展先前的元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift UITableView-如何将新项目放在列表的顶部而不是顶部?

如何将Promise.all()限制为每秒5个承诺?

单击以显示更多(按钮)后如何将主题列表限制为5(项)仅显示3(项)

如何将结果数限制为每个“用户”仅5个,但如果第5行的立即数与连续行相同,则允许更多行?

如何将TFS项目链接限制为特定类型?

如何将sort()限制为一个列表?

如何在不使用计算的 observables 的情况下将 observable 数组上的 Knockout foreach 一次限制为 5 个?

如何将 Django URL 参数限制为选项列表?

如何在 5 秒内将连接限制为 1 个连接?(IPTABLES)

如何将新项目放置在 recyclerView 的顶部?

如何将表限制为具有特定字段组合的5条记录

如何将整个FTS5查询限制为单个列?

如何将ComboBox中的用户输入限制为仅对SAPUI5中的数据建模

如何将WooCommerce购物车项目数量限制为一个特定项目

将新项目从数据库追加到组件状态下的列表顶部

如何将jquery selectable限制为1 tr并将所选项目传递到另一个页面

将每5个中继器项目放在div之间

如何将ListView中的每个项目限制为一行?

如何将Firebase Realtime数据库项目限制为对象中存在的“用户”

如何将collect()的结果限制为一定数量的项目?

javascript将中间项目放在顶部

如何在每个按钮单击事件后添加新项目并将以前的项目保留在通用列表中?

如何启动一个新项目并将其托管在launchpad.net上?

如何将新项目附加到数组并使用 F# 中的新项目更新数组?

限制为多个下拉列表mvc5选择相同的项目

如何将一个项目添加到列表框的顶部

如何在列表中添加新项目?

如何将新项目添加到对象数组

如何将新项目添加到String数组?