如何比较 JavaScript 中两个数组的对象

How to compare objects of two arrays in JavaScript

我在JavaScript

中取了两个数组
arr1 = ["empid","Name"];

arr2 = [{"keyName":"empid" ,"keyValue":"2"}]

我想检查 keyName 的值应该是 arr1 中的任何一个元素。

some short-circuits 在找到第一个匹配项之后,因此它不必遍历整个对象数组。它也是 returns 一个布尔值,它满足你的 use-case.

const query1 = ['empid','Name'];
const arr1 = [{'keyName':'empid' ,'keyValue':'2'}];
const query2 = ['empid','Name'];
const arr2 = [{'keyName':'empid2' ,'keyValue':'five'}];
const query3 = ['empid','Name', 'test'];
const arr3 = [{'keyName':'test2' ,'keyValue':'five'},{'keyName':'test' ,'keyValue':'five'}];

function found(arr, query) {
  return arr.some(obj => {
    return query.includes(obj.keyName);
  });
}

console.log(found(arr1, query1));
console.log(found(arr2, query2));
console.log(found(arr3, query3));

使用_.isEqual(object, other); 可能对你有帮助。