1

物体:

obj = {
    "expired":93,
    "old3":93,
    "old2":87,
    "old1":100,
    "fresh":150
}

オブジェクト内の「old1」(つまり、3) のインデックスを見つけるにはどうすればよいですか?

値を設定したい場合、インデックスで「old1」を参照するにはどうすればよいですか?

4

2 に答える 2

2

これを行うべきではありません。オブジェクト プロパティの順序は保証されません。

数値インデックスを使用する場合は、代わりに Array を使用してください。

すべての文字列キー (数値形式ではない) を使用する場合、ほとんどのブラウザーはオブジェクト式の順序を尊重しますが、これは保証されません。

また、数値または数値書式文字列をキーとして含む場合、順序はオブジェクト式の順序になりません。見る:

var obj = {
    "expired":93,
    "old3":93,
    "old2":87,
    "old1":100,
    "1": 111,
    "fresh":150
};

for (var key in obj) {
    console.log(key + ' : ' + obj[key]);
}

出力:

1 : 111
expired : 93
old3 : 93
old2 : 87
old1 : 100
fresh : 150 
于 2012-09-20T02:26:27.250 に答える
0

まだ探している人のために...私はこの解決策を得ました:

<div id="id"></div>
<div id="name"></div>
<div id="age"></div>

var data = {'rows':[
{'id':'1','name':'Andrey','age':'18'},
{'id':'2','name':'Cristine','age':'21'},
{'id':'3','name':'Loren','age':'25'}
]};

$('#id').html(data.rows[0][Object.keys(data.rows[0])[0]]);
$('#name').html(data.rows[0][Object.keys(data.rows[0])[1]]);
$('#age').html(data.rows[0][Object.keys(data.rows[0])[2]]);

jsfiddle

于 2016-07-03T02:47:06.527 に答える