【发布时间】:2019-04-18 18:55:58
【问题描述】:
我正在尝试从嵌套数组中删除一个对象。我的情况是数组中有多次相同的对象,我应该是这样。那么如何从数组中删除一个对象,即使它们是其中的相同对象。
我过去的尝试是filter 和slice 方法。但它们实际上是一次删除所有相同的对象。
const data = {
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:2, name:'test2'},
{ id:2, name:'test2'},
}
一次执行后的预期结果:
{ id:1, name:'test'},
{ id:1, name:'test'},
{ id:2, name:'test2'},
{ id:2, name:'test2'},
【问题讨论】:
-
你的条件是什么?需要保留 2 个重复对象的条目吗?
-
你知道对象的数组位置吗?
-
删除哪一个重复项?第一,最后,第二?我们需要一个条件
-
@MihaiT 很确定如果它们是重复的,我们删除“哪个”并不重要,只要我们完成后正确的数字仍然存在
-
这是一个集合?如果它应该在方括号 [] 内并且你应该使用
Array.prototype.splice.call(data, indexToRemove, 1);或者如果它是一个对象你应该使用delete data[keyToRemove];
标签: javascript arrays node.js object slice