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

How to get numeric index of the equivalent key in associative array in javascript

本文关键字:索引 数字 数组 关联 javascript      更新时间:2023-09-26
var assoArray={
    "Test": 0,
    "Test 2": 2
}

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

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

如何获得"测试2"的等效数字索引?期望1作为输出

没有。

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

在ES6中,顺序被定义为它们被添加的顺序,所以你可以接近Object.keys(foo) .indexOf('Test 2')这样的东西。它将为您提供键数组中的索引,该索引在对象和属性的生命周期中应该是稳定的。

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