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