我想在javascript中获取匹配值的所有键。
{
'aaa': 2,
'bbb': 7,
'ccc': 7
}
我想在不运行循环的情况下获取值匹配的所有键。
例如:我的值为7,我想获取所有值为7的键,即'bbb'和'ccc'。 有什么办法吗?
答案 0 :(得分:3)
您可以获取密钥并通过检查值来过滤。
var object = { aaa: 2, bbb: 7, ccc: 7 },
result = Object.keys(object).filter(k => object[k] === 7);
console.log(result);
答案 1 :(得分:0)
类似将键交换为类似的值?
var data = {
'aaa': 2,
'bbb': 7,
'ccc': 7
};
var newData = Object.keys(data).reduce(function(obj,key){
if (typeof obj[ data[key] ] === 'undefined') {
obj[ data[key] ] = new Array(key);
} else {
obj[ data[key] ].push (key);
}
return obj;
},{});
console.log(newData);
还是仅用于检索匹配值的键?
const keys = Object.keys(data).filter(function(key) {return data[key] === 7});
console.log (keys);