【发布时间】:2019-07-25 02:20:15
【问题描述】:
假设我有以下包含对象数组(歌曲)的数组:
[
[
{
name: 'I Want You Back',
id: 1
},
{
name: 'ABC',
id: 2
}
],
[
{
name: 'I Want You Back',
id: 1
},
{
name: 'Dont Stop Me Now',
id: 3
}
],
[
{
name: 'I Want You Back',
id: 1
},
{
name: 'ABC',
id: 2
}
],
]
我希望遍历我的数据并返回在 every 数组中找到的对象,所以在这种情况下,返回值将是:
{
name: 'I Want You Back',
id: 1
}
到目前为止,我只对字符串数组进行了处理,而不是对象,如下所示:
const arrays = [
['I Want You Back', 'ABC'],
['I Want You Back', 'Dont stop me now'],
['I Want You Back', 'ABC']
];
const result = arrays.shift().filter((v) => {
return arrays.every((a) => {
return a.indexOf(v) !== -1;
});
});
// result = ["I Want You Back"]
我一直在尝试,但我无法将相同的逻辑应用于我的对象(以及它们的名称或 ID)。如果你们中的一些人告诉我你会怎么做,我真的很感激。
【问题讨论】:
-
这个问题涉及超过 2 个数组,这需要完全不同的方法
标签: javascript