我有一个javascript对象。我的console.log
输出了这个:
Object {1: "name", 2: "cost", 3: "country", 4: "date"}
如何找到与"费用相对应的数字"?我想要一个输出2
答案 0 :(得分:4)
只需迭代检查各自值的属性。
for (var property in object) {
if (object[property] === 'cost') {
/// congratulations, you've found it
}
}
当然,有许多奇特的方法可以做到这一点,例如: Object.keys
- 但它们基本上都是一样的。
答案 1 :(得分:3)
这种非循环的方式是:
var yourObject = {1: "name", 2: "cost", 3: "country", 4: "date"};
var result = Object.keys(yourObject).find(key => yourObject[key] === 'cost');
console.log(result) // 2

假设您可以使用ES6(箭头功能,find
)
答案 2 :(得分:0)
想我在这里抛出一个答案,因为IE9之前不支持Object.Keys()。
$.each(yourObject, function(key,value){
if(value === 'cost'){
console.log(key) // key is 2
}
});
这是JSFiddle。
答案 3 :(得分:0)
使用loadash
_。反转(输入)。成本