javascript - 如何根据 JavaScript 中的键名称比较两个 JSON 值?

标签 javascript arrays json

我有两个 JSON 数组,例如

array1=[{a:1,b:2,c:3,d:4}]
&
array2=[{a:2,b:5,c:3,d:4}]

有没有什么方法可以找到数组2中存在的数组1中的键之一的值。这里在数组1中,键b包含值2,而数组2也包含键a,值2。我如何捕获数组 2 的键名称,与数组中的键之一具有相同的值。

最佳答案

我不太明白您是否对数组或对象感兴趣 - 因为您的示例是一对单元素数组,并且数组中的对象之间的比较很明显。

也就是说,如果您的目标是比较两个对象,并返回两个对象相同的键集,您会执行类似的操作

obj1 = {a:1,b:2,c:3,d:4};
obj2 = {a:2,b:5,c:3,d:4};

function sameKeys(a,b) {
    return Object.keys(a).filter(function(key) {
        return a[key] === b[key];
    });
}

console.log(sameKeys(obj1, obj2));

当我运行这个时,我得到:

[ 'c', 'd' ]

我希望这就是你所问的......

关于javascript - 如何根据 JavaScript 中的键名称比较两个 JSON 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34105386/

相关文章:

javascript - Rxjs Websocket : how to add headers

javascript - gmail javascript 书签

javascript - 将 <input> 值读取为数字而不是字符串 (JavaScript)

Python Nose 测试在 JSON 响应上失败

javascript - 使用javascript将wav转换为mp3

javascript - 未捕获范围错误 : Invalid string length

c++ - 为什么我可以使用列表初始化普通数组而不使用赋值运算符

java - Java 的字符串数组

c++ - Tic Tac Toe cin 输入问题

javascript - 带有 json 数据的数据表使 TR 行可点击