//两个数组对象中查看 其中一个数组对象是否包含另一个数组对象中的值let arr = [{key:1,val:"张胜男"},{key:2,val:"王五"},{key:3,val:"李四"},{key:4,val:"刘超"},{key:5,val:"赵四"}]let arr2 = [{key:1,val:"张胜男"},{key:2,val:"王五"},{key:6,val:"666"},{key:7,val:"777"},{key:8,val:"888"},{key:9,val:"999"},]//如果能找到就返回对应的下标,如果找不到,就返回-1for(let i=0;i<arr.length;i++){const Index = arr2.findIndex((item) => {return item.key === arr[i].key})console.log(Index); // 0、1、-1、-1、-1// 前两个数据的key值相同,打印出对应的下标 ,后面找不相同的key 输出-1}
//两个数组对象中查看 其中一个数组对象是否包含另一个数组对象中的值let arr = [{key:1,val:"张胜男"},{key:2,val:"王五"},{key:3,val:"李四"},{key:4,val:"刘超"},{key:5,val:"赵四"}]let arr2 = [{key:1,val:"张胜男"},{key:2,val:"王五"},{key:6,val:"666"},{key:7,val:"777"},{key:8,val:"888"},{key:9,val:"999"},]for(let task of arr){const itemJson = arr2.find((item)=>{return item.key === task.key});console.log(itemJson)//{key: 1, val: "张胜男"}//{key: 2, val: "王五"}// 3 undefined// 如果有相同的值那么就返回对应的对象 如果没有则返回 undefined}
上述两种方法都能找出 一个数组对象中是否包含另一个数组对象中的元素,两种方法返回的结果不同,一个是返回下标,另外返回对应的对象,在实际应用场景中可根据不同需要选择不同的使用方式。