您将如何过滤一个对象数组,使该对象的最后一次出现具有相同的 foo 属性?即
给出:
[
{foo:1,id:1},
{foo:1,id:2},
{foo:2,id:3}
]
我想要这个:
[
{foo:1,id:2},
{foo:2,id:3}
我正在使用 es6,所以我可以从这里开始:
this.data.filter((item,index,self)=> {
return self.findIndex(o => o.foo === item.foo);
})
最佳答案
var index = {};
var data = [{foo:1,id:1},{foo:1,id:2},{foo:2,id:3}];
data.forEach(item => index[item.foo] = item);
index[1];
// {foo:1,id:2}
Object.values(index)
// [{foo:1,id:2},{foo:2,id:3}]
关于javascript - 过滤对象数组以仅具有具有相同特定属性的该对象的最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410059/