2012-04-11 33 views
3

我有一個像這樣的JsonArray。使用JS/jQuery從JsonArray中提取數據

var json_array = [{ "text": "id", "size": 4}, { "text": "manifesto", "size": 4}, { "text": "also", "size": 4}, { "text": "leasing", "size": 4}, { "text": "23", "size": 4}]; 

是否有無論如何讓我使用Javascript/jQuery的另一個數組中的這個json_array的所有「文本」屬性?

,如:

var t_array = ["id","manifesto","also"....] 

回答

9

您可以使用$.map()儀從你現有陣列的相關信息到一個新問題:

var t_array = $.map(json_array, function(item) { 
    return item.text; 
}); 
+0

只是好奇(我不使用jQuery) - 是.MAP $函數異步? – JKing 2012-04-11 10:24:50

+0

@JKing,不,不是。它同步構建並返回數組。它用作參數的函數不是回調函數,它用於投影新數組的項目。 – 2012-04-11 10:27:15

+0

啊。我一直在node.js上花費太多時間......每一個匿名函數都作爲參數傳遞給另一個函數,這讓我想到了「Weeee!Asynchronous event driven programming!」。感謝_nothing_,jQuery! – JKing 2012-04-11 10:41:26

2
var t_array = []; 

for (var i=0; i< json_array.length; i++) 
    t_array.push(json_array[i].text); 
1

我認爲你需要通過循環通過建立t_arrayjson_array