您正在將列表定義爲object
。對象屬性按照他們定義的順序,但我們不能相信它的順序。我認爲Chrome有錯誤,它https://code.google.com/p/v8/issues/detail?id=164
以下first
方法給出了從列表對象第一個元素,此功能將作品大多數情況下,若對象爲空則返回undefined
值。
var data = {
"_id":"123",
"list":{
"56":{"name":"Great ","amount":100,"place":"Town"},
"57":{"name":"Great 2","amount":200,"place":"City"}
},
"pop":[2,3]
};
function first(data){
for (var i in data){
if (data.hasOwnProperty(i)) break;
}
return data.hasOwnProperty(i) ? data[i] : undefined;
}
first(data.list).amount;
如果要保留列表的順序,請將它們定義爲Array
。例如
var data = {
"_id":"123",
"list":[
{"id" : "56" ,"name":"Great ","amount":100,"place":"Town"},
{"id" : "57" ,"name":"Great 2","amount":200,"place":"City"}
],
"pop":[2,3]
};
,並訪問他們作爲data.list[0]
來源
2013-04-30 11:11:01
rab
你的 「清單」是一個普通的對象,而不是一個數組,所以沒有「第一個」值。 – Bergi 2013-04-30 10:43:31
向我們展示如何訪問這100個對象,而不僅僅是一個提取的示例。 – Bergi 2013-04-30 10:45:01