如何检查一个对象数组是否包含另一个对象数组的所有ID JS
How to check if an array of objects contains all the ids of another array of objects JS
我有 2 个对象数组;
// First one :
[0: {id: 1},
1: {id: 2},
2: {id: 3},
3: {id: 4}]
// Second one :
[0: {id: 10},
1: {id: 1},
2: {id: 4},
3: {id: 76},
4: {id: 2},
5: {id: 47},
6: {id: 3}]
我想测试第二个是否至少具有与第一个相同的 ID。在这种情况下是正确的,因为第二个包含 1、2、3 和 4 个 ID。
我尝试使用 some() 和 every() 但它不能正常工作
我的尝试:
let res = this.trainingEpisodesList.some( episode => {
this.completedEpisodes.every( userEpisode => {
userEpisode.id == episode.id;
})
});
谢谢 ;)
let completedEpisodes =
[
{id: 1},
{id: 2},
{id: 3},
{id: 4}
]
let trainingEpisodesList =
[
{id: 10},
{id: 1},
{id: 4},
{id: 76},
{id: 2},
{id: 47},
{id: 3}
]
let containsAllCompleted = trainingEpisodesList.every(c => completedEpisodes.find(e=>e.id==c.id));
console.log(containsAllCompleted);
正确,
let result = one.map(a => a.id);
let result2 = two.map(a => a.id);
const final_result = result.every(val => result2.includes(val));
傻,
var result = one.map(a => a.id);
var result2 = two.map(a => a.id);
var final_result = result.every(function(val) {
return result2.indexOf(val) >= 0;
});
我有 2 个对象数组;
// First one :
[0: {id: 1},
1: {id: 2},
2: {id: 3},
3: {id: 4}]
// Second one :
[0: {id: 10},
1: {id: 1},
2: {id: 4},
3: {id: 76},
4: {id: 2},
5: {id: 47},
6: {id: 3}]
我想测试第二个是否至少具有与第一个相同的 ID。在这种情况下是正确的,因为第二个包含 1、2、3 和 4 个 ID。
我尝试使用 some() 和 every() 但它不能正常工作
我的尝试:
let res = this.trainingEpisodesList.some( episode => {
this.completedEpisodes.every( userEpisode => {
userEpisode.id == episode.id;
})
});
谢谢 ;)
let completedEpisodes =
[
{id: 1},
{id: 2},
{id: 3},
{id: 4}
]
let trainingEpisodesList =
[
{id: 10},
{id: 1},
{id: 4},
{id: 76},
{id: 2},
{id: 47},
{id: 3}
]
let containsAllCompleted = trainingEpisodesList.every(c => completedEpisodes.find(e=>e.id==c.id));
console.log(containsAllCompleted);
正确,
let result = one.map(a => a.id);
let result2 = two.map(a => a.id);
const final_result = result.every(val => result2.includes(val));
傻,
var result = one.map(a => a.id);
var result2 = two.map(a => a.id);
var final_result = result.every(function(val) {
return result2.indexOf(val) >= 0;
});