Javascript JS拼接阵列
我想拼接我的数组,所以我创建了以下代码片段:Javascript JS拼接阵列,javascript,arrays,splice,Javascript,Arrays,Splice,我想拼接我的数组,所以我创建了以下代码片段: 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 (finalc
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");
}
}
}
这就是阵列模型 如果不拼接,则需要增加i,或者拼接并减小i。从现在起,您正在进行拼接和增量,这将跳过您的背对背转储 为了更好地解释它,你说dump位于索引1和2。如果你在1处拼接,在索引2处的东西现在在索引1处,但你让我看一下索引2
System.log(finalcluster.length);
for (i=0; i <= finalcluster.length;){
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");
i++;
}
}
}
System.log(finalcluster.length);
对于(i=0;i代码的一个问题是,在更改(递减)时,使用finalcluster.length
以升序迭代finalcluster
数组的长度。因此,每次满足移除条件时,循环运行的次数将减少1,这使得数组的尾部无法访问。例如:
//这似乎会清空数组
设arr=[1,2,3,4]
for(设i=0;i console.log(arr);//[2,4]
拼接会更改数组的位置。因此,当您进行迭代时,只要将元素拼接出来,索引就会跳转索引。请尝试简单地使用finalCluster=finalCluster.filter(cluster=>cluster[0]!==“dump”)
也许你可以展示一个实际数组的例子,而不是psuedo代码版本,因为你不清楚你的意思。这里是make array函数,在几行之后,我把finalcluster[1][0]=“school”;finalcluster[1][1]=1放在其中。这是我想筛选finalcluster=new array(5)的关键(i=0;iSystem.log(finalcluster.length);
for (i=0; i <= finalcluster.length;){
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");
i++;
}
}
}