我有一個JavaScript對象。我的console.log
輸出:在JavaScript對象中查找元素的位置
Object {1: "name", 2: "cost", 3: "country", 4: "date"}
如何找到與「成本」相對應的數字?我想要一個輸出功能2
我有一個JavaScript對象。我的console.log
輸出:在JavaScript對象中查找元素的位置
Object {1: "name", 2: "cost", 3: "country", 4: "date"}
如何找到與「成本」相對應的數字?我想要一個輸出功能2
做的非糊塗的方式,它是:
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
)
只需遍歷屬性檢查其各自的值。
for (var property in object) {
if (object[property] === 'cost') {
/// congratulations, you've found it
}
}
當然有許多奇特的方法可以做到這一點,例如, Object.keys
- 但它們都是基本相同的東西。
謝謝你沒有做'Object.prototype'擴展。簡單有效的解決方案。 – Eihwaz
哦,這真的很好!謝謝!我將運行並看到每個的好處。 –
想我會折騰因爲Object.Keys()在我讀的IE9之前不被支持。
$.each(yourObject, function(key,value){
if(value === 'cost'){
console.log(key) // key is 2
}
});
這是JSFiddle。
使用loadash
_.invert(輸入)。成本
這正是我想要的 - 謝謝! –