如何在静态JavaScript对象中找到重复的键?

时间:2015-02-21 01:00:25

标签: javascript static

这是我尝试过的。

try {
     var obj = {"name":"n","name":"v"};
     console.log(obj); // outputs { name: 'v' }
} catch (e) {
     console.log(e); // no exceptions printed
}

我想在标准工具的巨大静态Javascript对象中找到重复的键。

2 个答案:

答案 0 :(得分:2)

只有你覆盖它才能消除钥匙。由于键在对象中是唯一的,因此仅保留最后一个赋值。

可能的替代方法是将这些元素包装在数组中:

  {
    "names":[
       {"name":"n"},
       {"name":"v"}
    ]
  }

答案 1 :(得分:-2)

如果启用严格模式,如果您使用重复键定义对象文字,JavaScript将抛出异常;

"use strict";

try {
    var obj = {"name":"n","name":"v"};
    console.log(obj);
} catch (e) {
    console.log(e);
}

编辑:这仅适用于ECMAScript 5,而不适用于ECMAScript 6.根据“了解ECMAScript 6”。我还没有尝试过。