[英]how to loop through an array and put values in unique labels in AngularJS
[英]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.