我想要实现的是对“objects”数组进行过滤,以便获得具有唯一演员的对象数组。
所以这是我目前拥有的:
期望的结果是一个数组,其中不包括最后一个数组元素,因为此演员属性与第一个数组元素匹配。但是目前它没有过滤任何数组元素。起初我以为
所以这是我目前拥有的:
var objects = [{
actor: {
account: null,
degraded: false,
mbox: null,
mbox_sha1sum: "843c56da78f9eb888274d2d4e12ab1d748ec46234",
name: "name",
openid: null
},
capture: 'value'
},
{
actor: {
account: null,
degraded: false,
mbox: null,
mbox_sha1sum: "843c56da78f9eb888274d2d4e12ab1d748ec12345",
name: "name2",
openid: null
},
capture: 'value2'
},
{
actor: {
account: null,
degraded: false,
mbox: null,
mbox_sha1sum: "843c56da78f9eb888274d2d4e12ab1d748ec46234",
name: "name",
openid: null
},
capture: 'value3'
}
];
objects.filter((value, index, self) => {
return self.indexOf(value) === index;
}).map(ele => {
console.log(ele.capture);
});
return self.indexOf(value.value) === index;
会解决这个问题,但是它返回了一个空数组。[{
actor: {
account: null,
degraded: false,
mbox: null,
mbox_sha1sum: "843c56da78f9eb888274d2d4e12ab1d748ec46234",
name: "name",
openid: null
},
capture: 'value'
},
{
actor: {
account: null,
degraded: false,
mbox: null,
mbox_sha1sum: "843c56da78f9eb888274d2d4e12ab1d748ec12345",
name: "name2",
openid: null
},
capture: 'value2'
}
];