在javascript对象

时间:2016-04-11 15:34:49

标签: javascript jquery arrays

我有一个javascript对象。我的console.log输出了这个:

Object {1: "name", 2: "cost", 3: "country", 4: "date"}

如何找到与"费用相对应的数字"?我想要一个输出2

的函数

4 个答案:

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

_。反转(输入)。成本