如何在javascript中获取关联数组中等效键的数字索引

时间:2015-07-09 13:37:44

标签: javascript

var assoArray={
    "Test": 0,
    "Test 2": 2
}

在上面的关联数组中,我可以通过

获得Test2的值
var valofTest2 = assoArray["Test 2"]

如何获得“Test 2”的等效数字索引?会期望1作为输出

PS:我是JS的新手

2 个答案:

答案 0 :(得分:3)

没有一个。

在最新的规范更新(ES6)之前,对象中的键的顺序是完全未定义的,并且每次都可以以不同的顺序返回。

使用ES6,订单被定义为添加的顺序,因此您可以使用Object.keys(foo) .indexOf('Test 2')之类的内容。它将为您提供键数组中的索引,该索引应该在对象和属性的生命周期内保持稳定。

答案 1 :(得分:0)

function indexOfAtrr(obj,attr) {
    i = 0;
    $.each(obj, function(key, value) {
        if (key == attr) return i;
        i++;
    });
    return -1;
}