我有一个 JavaScript 关联数组。它将动态填充。
我想找到包含重复数据/值的键。
为了简单起见,它看起来像这样。
var p = { };
p =
{
"p1": "value1",
"p2": "value2",
"p3": "value3",
"p4": "value2",
"p5": "value3",
"p6": "value5"
};
我该怎么做。
这是 js fiddle 。
除了使用hasOwnProperty还有其他方法吗?
有什么想法可以让这项工作成功吗?
最佳答案
var p =
{
"p1": "value1",
"p2": "value2",
"p3": "value3",
"p4": "value2",
"p5": "value3",
"p6": "value5"
};
var q = {};
var keys = Object.keys(p);
for (var i = 0; i < keys.length; i++) {
var currentKey = keys[i];
var newKey = p[currentKey];
if (q[newKey] === undefined){
q[newKey] = [];
}
q[newKey].push(currentKey);
}
这会给你一个看起来像这样的对象:
{
"value1": ["p1"],
"value2": ["p2","p4"],
"value3": ["p3","p5"],
"value5": ["p6"]
}
关于javascript:获取关联数组中包含重复数据的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18906183/