我有这个对象:

var navArray = {
  '#item1' : 0,
  '#item2' : 1,
  '#item3' : 2,
  '#item4' : 3,
  '#item5' : 4,
  '#item6' : 5
}


下面代码中的ident var是一个数字,我需要找出它对应于数组中的哪个属性...因此,如果ident为1,我想找回#item2。

我该怎么做呢?

var navArray = {
  '#item1' : 0,
  '#item2' : 1,
  '#item3' : 2,
  '#item4' : 3,
  '#item5' : 4,
  '#item6' : 5
}
if(typeof(ident) === "number") {
    for(i in navArray) {
    }
}

最佳答案

这应该工作:

var ident = 1,
    target = null;
for (var key in navArray) {
    if (navArray.hasOwnProperty(key)) {
        if (navArray[key] === ident) {
            target = key;
            break;
        }
    }
}

alert (target); // "#item2"

10-06 04:15