有没有办法在两个不同的数组中找到多个值?

时间:2019-06-26 11:51:24

标签: javascript jquery arrays typescript

我有两个不同的数组,我想检查两个数组是否具有相同的值,否则抛出错误

let array_a = [{a : 34,b: 78}, {a:55 , b: 66}];
let array_b = [{a : 34,b: 78}, {a:77 , b: 989}];

 let success = array_a.findIndex((val) => {
      return array_b.indexOf(val) !== -1;
    });
console.log(success)

预期o / p:我要打印a:77不存在。我要检查 两个数组中的'a'具有相同的值

2 个答案:

答案 0 :(得分:0)

您可以使用此代码段开始使用,交配:

let array_a = [{a : 34}, { b: 78}];
let array_b = [{a : 34}, { b: 989}];



const getSame = (arr1, arr2) => arr1.filter( ( p, idx ) => {
  return Object.keys(p).some( ( prop ) => {
    return p[prop] == arr2[idx][prop];
  })
})

console.log(getSame(array_a, array_b));

答案 1 :(得分:0)

我已经解决了。

function getCommonItems(firstArray: any, secondArray: any): any {
  return firstArray.filter((firstArrayItem: any) => {
    return secondArray.find((secondArrayItem: any) => {
      return firstArrayItem.a === secondArrayItem.a;
    });
  });
}