0



javascriptオブジェクトから逆の順序でキーを取得する必要があります。 たとえば
$.each()、宣言された順序で取得します。 出力はthanxである必要があります:)



var a={'b':1,'c':2};
{'c':2,'b':1}

4

2 に答える 2

3

JavaScriptオブジェクトには、反復時にキーの順序が保証されていません。JavaScriptはオブジェクトプロパティの順序を保証しますか?

順序に依存する必要がある場合は、配列を使用する必要があります。この不特定の振る舞いに頼ることができると思い込まないでください。人々は、反復を信頼できるものにするようChromeに求めてきましたが、そうはなりません。http://code.google.com/p/chromium/issues/detail?id=883は、JavaScriptが保証していないため、修正されないとマークされています。

于 2012-09-13T08:24:57.497 に答える
1

使用する:

$(_array).reverse().each(function(i) {
// ...
});

オブジェクトの場合、次のことができます。

var a = {a: 2, b: 1};

console.log('Declared order');
$.each(a, function(i) {
    console.log(i+': '+a[i]);
});

console.log('Reverse order');
var keys = [];
for(var k in a) keys.unshift(k);
$.each(keys, function(i) {
    console.log(keys[i]+': '+a[keys[i]]);
});

デモ: http: //jsfiddle.net/techfoobar/5kduC/

于 2012-09-13T08:22:05.903 に答える