簡體   English   中英

如何遍歷JSON(使用AngularJS)並將結果放入Javascript數組中?

[英]How to loop through JSON (with AngularJS) and put the results in a Javascript array?

使用最新的AngularJS版本(1.3.0-rc.5),我正在檢索包含人名的簡單JSON對象。 JSON對象的示例:

[{'id':1, 'name':'John'}, {'id':2, 'name':'Jane'}, {'id':3, 'name':'Pete'}]

我不知道如何將所有名稱放入一個關聯的Javascript數組中。 在我看來,我想創建一個空的Javascript數組並遍歷JSON對象,並在循環中使用.push()來將名稱繼續添加到數組中。 但是我無法在AngularJS中使用它。

ps。 我會接受可以幫助我解決這個問題的答案。

Angular並不能幫助您,Angular可以用於應用程序的其他部分(例如UI)。 如果要這樣做,在JS中很簡單:

var list = [{'id':1, 'name':'John'}, {'id':2, 'name':'Jane'}, {'id':3, 'name':'Pete'}]
var names = []
for(var idx in list) {
  names.push(list[idx]['name'])
}

您還提到了一個關聯數組,在JS中,您有一些對象,它們的工作原理相似,但是我不明白您想如何使用它們……該關聯數組的索引是什么? 名字? 如果是這樣,那么價值是什么? 是ID嗎? 如果是這樣,您可以執行以下操作:

var list = [{'id':1, 'name':'John'}, {'id':2, 'name':'Jane'}, {'id':3, 'name':'Pete'}]
var names = {} //object literal
for(var idx in list) {
  names[list[idx]['name']] = list[idx]['id']
}

希望能有所幫助

您可以使用純JavaScript做到這一點

var arr = [{'id':1, 'name':'John'}, {'id':2, 'name':'Jane'}, {'id':3, 'name':'Pete'}];
var nameArr =[];
arr.forEach(
function(elem){ 
  nameArr.push(elem.name);
});

在數組對象上使用map(..)

var obj = [{'id':1, 'name':'John'}, {'id':2, 'name':'Jane'}, {'id':3, 'name':'Pete'}];
var result = obj.map(function (x) {return x["name"]; });
//["John", "Jane", "Pete"]

使用angular.fromJson()函數解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM