[英]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.