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
posted @ 2022-03-01 15:17  唐同学  阅读(4700)  评论(0编辑  收藏  举报