如何在JavaScript中获取匹配值的所有键

时间:2019-06-12 11:39:57

标签: javascript

我想在javascript中获取匹配值的所有键。

{  
 'aaa': 2,
 'bbb': 7,
 'ccc': 7 
}

我想在不运行循环的情况下获取值匹配的所有键。

例如:我的值为7,我想获取所有值为7的键,即'bbb'和'ccc'。 有什么办法吗?

2 个答案:

答案 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);