3

如果我有看起来像这样的数据:

x = {"key1":"val1", "key2":"val2", "key3", "val3"};

是否有任何标准方法可以使用返回键、值和索引的函数对它们执行每个操作?

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

就像是:

$.each(x, function(i, k, v) {
    //... do something here
}
4

2 回答 2

6

Object.keys()与链接一起Array.prototype.forEach链接

概要

Object.keys( object ).forEach(function( element, index, array ) {
});

Object.keys()将所有自己的键作为数组返回,并.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 ] );
});
于 2013-03-10T21:11:42.730 回答
1

如果愿意,您可以创建自己的“索引”

var i =0;
$.each(...... {
    /* code */
    i++;
});
于 2013-03-10T21:11:54.930 回答