【发布时间】:2020-05-08 15:56:36
【问题描述】:
在下面的代码中,当从checklist 数组中删除一个对象时,它会删除最后两个,但是如果我更改对象顺序并将最后两个对象移动到前两个位置,那么它工作正常。为什么?有没有更好的解决方案从对象数组中删除重复项?
const checklist = [
{ id: 1, value: "Elenor Anderson", isSelected: false },
{ id: 2, value: "Caden Kunze", isSelected: false },
{ id: 110, value: "Ms. Hortense Zulauf", isSelected: false },
{ id: 112, value: "Grady Reichert", isSelected: false }
];
const mainlist = [
{ id: 36, value: "Ms. Hortense Zulauf", isSelected: false },
{ id: 46, value: "Grady Reichert", isSelected: false },
{ id: 1, value: "Elenor Anderson", isSelected: false },
{ id: 2, value: "Caden Kunze", isSelected: false }
];
checklist.forEach(item => {
var ItemIndex = mainlist.findIndex(b => b.id === item.id);
console.log(ItemIndex);
checklist.splice(ItemIndex, 1);
});
console.log(this.checklist);
【问题讨论】:
标签: javascript arrays duplicates compare