【问题标题】:Delete From Javascript array reorder从 Javascript 数组重新排序中删除
【发布时间】: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 =&gt; !delete_array.includes(x))
  • 不太清楚您的预期输出是什么。你能提供你想要得到的输出吗?
  • splice 将索引作为第一个参数。
  • 请补充缺少的变量内容。
  • 请使用 Stack Snippets([&lt;&gt;] 工具栏按钮)通过 runnable minimal reproducible example 演示问题来更新您的问题。您的代码似乎与您引用的结构不匹配。仅根据您提供的信息,我们无法为您提供帮助。您对splice 的调用几乎肯定是错误的(从您所引用的内容来看,您将 object 作为其第一个参数传递,该参数应该是进行更改的索引),但是。 ..

标签: javascript arrays del


【解决方案1】:

有点乱。但是当我删除一个数组对象时,顺序会改变。因此,如果我删除位置 0,那么下一个循环所有其他对象现在都已移动。所以我得到了不正确的结果。通过抓取每个循环的索引。我正在删除我想要的。 https://repl.it/K9sr/3

【讨论】:

    猜你喜欢
    • 2016-10-01
    • 2011-01-11
    • 2012-09-17
    • 1970-01-01
    • 2021-11-12
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多