【发布时间】:2017-08-30 12:45:51
【问题描述】:
我正在从 javascript 数组中删除。删除后,数组重新排序。
Array [ Object, Object, Object, Object, Object, Object ];
0 Object
d:17065
1 Object
d:17156
2 Object
d:17246
3 Object
d:17065
4 Object
d:17156
5 Object
d:17338
for(d = 0; d < delete_array.length; d++)
{
data_array[0].splice(delete_array[d],1);
}
经过上述删除。数组变为。
Array [ Object, Object, Object ];
0 Object
d:17156
1 Object
d:17065
2 Object
d:17246
3 Object
如何防止这种情况发生?
【问题讨论】:
-
使用
data_array[0] = data_array[0].filter(x => !delete_array.includes(x)) -
不太清楚您的预期输出是什么。你能提供你想要得到的输出吗?
-
splice将索引作为第一个参数。 -
请补充缺少的变量内容。
-
请使用 Stack Snippets(
[<>]工具栏按钮)通过 runnable minimal reproducible example 演示问题来更新您的问题。您的代码似乎与您引用的结构不匹配。仅根据您提供的信息,我们无法为您提供帮助。您对splice的调用几乎肯定是错误的(从您所引用的内容来看,您将 object 作为其第一个参数传递,该参数应该是进行更改的索引),但是。 ..
标签: javascript arrays del