如何使用Javascript获取此类对象中每个对象的ID:
array = [
{ active: false, defaultTag:true, id: '507f191e810c19729de860ea', title: 'one' },
{ active: false, defaultTag:true, id: '507f191e810c19722de860ea', title: 'two' }
];
我需要获取ID以便检查该项目是否已经存在于数组中,并且有使用意图再次保存相同的对象。
最好的问候 美国
答案 0 :(得分:0)
在这里您可以获得唯一ID的数组
var unique = [],
tmp, i = 0;
while(i < array.length){
unique.indexOf(tmp = array[i++].id) > -1 ? array.pop(i--) : unique.push(tmp)
}
console.log(unique);
答案 1 :(得分:0)
Array.reduce
将所有项目收集到一个对象下。这将过滤出重复项Object.values
获取对象内部的值。返回的值是过滤后的数组
const array = [
{ active: false, defaultTag:true, id: '507f191e810c19729de860ea', title: 'duplicateOne' },
{ active: false, defaultTag:true, id: '507f191e810c19729de860ea', title: 'one' },
{ active: false, defaultTag:true, id: '507f191e810c19722de860ea', title: 'two' }
];
const removeDupsById = arr => Object.values(
arr.reduce((a, c) => ({...a, [c.id]: c}), {})
);
console.log(removeDupsById(array));