在索引,键和值的地图上为每个jquery

by0*_*by0 3 javascript arrays jquery hashmap

如果我有类似这样的数据:

x = {"key1":"val1", "key2":"val2", "key3", "val3"};
Run Code Online (Sandbox Code Playgroud)

是否有任何标准的方法为每个人做一个返回键,值和索引的函数?

我这样做的方法是定义一个键数组并使用索引来访问它,但有更简单的方法吗?

就像是:

$.each(x, function(i, k, v) {
    //... do something here
}
Run Code Online (Sandbox Code Playgroud)

jAn*_*ndy 6

Object.keys()链接连同Array.prototype.forEach链接:

概要

Object.keys( object ).forEach(function( element, index, array ) {
});
Run Code Online (Sandbox Code Playgroud)

Object.keys()将所有自己的键作为Array返回并.forEach()循环遍历数组,如上所示.因为我们得到一个数组Object.keys(),我们当然也可以适用Array.prototype.sort()于它,并访问任何我们喜欢的顺序按键.例如

Object.keys( object ).sort(function( a, b ) {
    return a.localeCompare( b );
}).forEach(function( element, index, array ) {
    console.log( object[ element ] );
});
Run Code Online (Sandbox Code Playgroud)