Javascript 字典:返回和该值成对的键的列表

Javascript 字典:返回和该值成对的键的列表,javascript,Javascript,我定义了一个函数,它返回一个键列表,这些键与字典中的值成对 我可以得到要打印的第一个密钥,但它不会打印第二个或更大的密钥。我知道我应该列一个清单,但我不知道该怎么做 dict1={‘猫’:1,‘狗’:3,‘鸟’:4,‘蜥蜴’:4,‘仓鼠’:5}; 函数keyListdict,value{ dict中的forx ifdict[x]==值 返回x; } console.logkeyListdict1,4 只需遍历键并过滤出其值不等于传递值的键。 dict1={“猫”:1,“狗”:3,“鸟”:4,“

我定义了一个函数,它返回一个键列表,这些键与字典中的值成对

我可以得到要打印的第一个密钥,但它不会打印第二个或更大的密钥。我知道我应该列一个清单,但我不知道该怎么做

dict1={‘猫’:1,‘狗’:3,‘鸟’:4,‘蜥蜴’:4,‘仓鼠’:5}; 函数keyListdict,value{ dict中的forx ifdict[x]==值 返回x; }
console.logkeyListdict1,4 只需遍历键并过滤出其值不等于传递值的键。 dict1={“猫”:1,“狗”:3,“鸟”:4,“蜥蜴”:4,“仓鼠”:5} 函数keyListdict,值{ 返回Object.keysdict.filterx=>dict[x]==value; }
console.logkeyListdict1,4将值推送到数组中,然后返回数组,而不是立即返回

dict1={“猫”:1,“狗”:3,“鸟”:4,“蜥蜴”:4,“仓鼠”:5} 函数keyListdict,value{ 让键=[]; dict中的forx ifdict[x]==值{keys.pushx;} 返回键; } console.logkeyListdict1,4您可以使用数组获取对象的键,例如[猫、狗、鸟、蜥蜴、仓鼠]

然后允许您指定要保留的项目

在本例中,您希望保留值为4的键,因此obj[key]==value

常量dict1={'cat':1,'dog':3,'bird':4,'lizard':4,'仓鼠':5}; const keyList=obj,value=>Object.keysobj.filterkey=>obj[key]==value;
console.log keyListdict1,4 你可以试试这个。可能有一个过滤器函数执行类似的操作:

dict1={“猫”:1,“狗”:3,“鸟”:4,“蜥蜴”:4,“仓鼠”:5}

function getPropertiesByValue(object, value) {

Object.keys(object).forEach(key => {
  if (object[key] != value ) delete object[key];
});
return object;
}
alert(JSON.stringify(getPropertiesByValue(dict1, 4)));

这种方法的主要特点是它是一个不纯函数;它操纵您传入的对象。