情景:判断arr1数组对象中是包含arr2数组
let arr1 = [
{
id: 1,
name: "张三"
},
{
id: 2,
name: "李四"
},
{
id: 3,
name: "王五"
}
]
let arr2 = [
{
id: 1,
name: "张三"
},
{
id: 2,
name: "李四"
}
]
方法一:
let tempArr = []
for (let task of arr1) {
let itemJson = arr2.find((item) => {
return item.id === task.id
});
if (itemJson) {
itemJson.disabled = true;
itemJson.checked = true;
tempArr.push(itemJson)
}
}
console.log(tempArr)
方法二:
let arr1Ids = [];
let arr2Ids = [];
arr1.forEach(item => {
arr1Ids.push(item.id)
})
arr2.forEach(item => {
arr2Ids.push(item.id)
})
let flag = false;
for (var i = 0; i < arr2Ids.length; i++) {
if (arr1Ids.indexOf(arr2[i].id) > -1) {
flag = true;
break;
}
}
console.log("是否存在?===>", flag);
方法三:
let flag = false;
for (const i in arr1) {
arr2.forEach(item => {
if (item.id === arr1[i].id) {
flag = true;
}
})
}
console.log(flag);
若以上三种方法有误,欢迎提出来哟。
若还有其他方法,欢迎评论区。