首页 > 解决方案 > 如何验证 2 个 JavaScript 对象是否具有相同的键

问题描述

我正在尝试比较 2 个大型 JavaScript 对象,每个对象都有将近 200 个键,这些键是无序的,并且每个 JavaScript 对象都有不同的值,但我只关心它们是否具有相同的键集即使它们的顺序不同,函数仍会返回 true

我尝试了以下代码但没有用

var cp = function (nl,en) {
let x= Object.keys(nl);
let y= Object.keys(en);
for (xel in x){
    if (!y[xel]){
        console.log("missing key en ", xel);
    }
}}

例子:

{"key1": "val", "key2": "sdsfaf"}
{"Key2": "val", "key1": "vsdsdsd"}
This should return true
{"key1": "val", "key2": "sdsfaf"}
{"Key2": "val"}
This shouldn't

标签: javascript

解决方案


new Set(Object.keys(a))使用和获取对象的键集new Set(Object.keys(b))

然后将它们与例如进行比较。比较 ECMA6 集是否相等


推荐阅读