Vue3+TS如何判断对象类型数组中包含某一个值
例子: 如下所示,arrA 是一个数组. 它的每一个元素都是一个对象
const arrA = [
{name:name1,code:code1},
{name:name2,code:code2},
{name:name3,code:code3},
{name:name4,code:code4},
]
此时我有一个数组B
const arrB = [
{name:nameA,code:codeA},
{name:name2,code:code2},
{name:nameC,code:codeC},
{name:name4,code:code4},
]
此时我想知道我数组A中是否包含数组B中的对象O
.如果没有code内容=>就把对象O加到数组A中,
如果包含code内容=>对象O就不加入到数组A
此时可以使用数组API some
//首先循环数组A
for (let index = 0; index < arrA .length; index++) {
//然后循环数组B
arrB .forEach((element: any) => {
//然后判断数组A和B中的code是否相同
if (!arrA[index] .some((item: any) => item.code === element.code)) {
//如果不同就加入到数组A中
arrA.push(element);
}
});
}
}
例子可能不恰当.核心思想是 数组API some 更具体的使用方式可以继续百度
var result = arr.some(item=>{ if(item.name==='张三'){ return true } })
// if 可以省略
var result = arr.some(item=>item.name==='张三')
console.log(result) // 如果arr数组对象中含有name:'张三',就会返回true,否则返回false