【发布时间】:2017-09-09 02:52:03
【问题描述】:
我想拼接我的数组,所以我创建了这个sn-p代码:
System.log(finalcluster.length);
for (i=0; i <= finalcluster.length; i++){
if (finalcluster[i] != undefined ){
System.log(finalcluster[i][0]);
var remove = finalcluster.indexOf("dump");
if (finalcluster[i][0] == "dump")
{
System.log("couse dump");
finalcluster.splice(remove,1);
}
else {
System.log("No Problem");
}
}
}
在这段代码中有两个删除函数,我知道是因为我尝试过 indexof 一个整数 i。
当我执行这段代码时,只删除了两个转储,我认为这两个之前但在我正确的结果之后,还有另一个“转储”数组。为什么 split 不能移动它,因为它可以从关键字之前拼接数组。
数组:
[Name][Number]
[dump][0]
[dump][0]
[KEYWORD][KEYNUMBER]
[dump][0]
[dump][0]
这就是数组模型。
【问题讨论】:
-
拼接会改变数组。因此,当您进行迭代时,只要您拼接一个元素,您的索引就会跳转一个索引。尝试简单地使用
finalCluster = finalCluster.filter(cluster => cluster[0] !== "dump"); -
也许你可以展示一个实际数组的例子而不是伪代码版本,因为你的意思不清楚。
-
这里是make数组函数,几行之后我把finalcluster[1][0] = "school"; finalcluster[1][1] = 1。这就是我要过滤的关键 finalcluster = new Array(5); for (i = 0; i
标签: javascript arrays splice