Javascript 如何从json数组中获取特定值?
我有一个类似于newarr的json数组名。如何从json数组中获取所有id,以及如何在arr值中添加Javascript 如何从json数组中获取特定值?,javascript,json,getjson,Javascript,Json,Getjson,我有一个类似于newarr的json数组名。如何从json数组中获取所有id,以及如何在arr值中添加 var arr=new Array(); var newarr=new Array([ { "id": 16820, "value": "abcd", "info": "Centre" }, { "id": 18920, "
var arr=new Array();
var newarr=new Array([
{
"id": 16820,
"value": "abcd",
"info": "Centre"
},
{
"id": 18920,
"value": "abcd-16820",
"info": "Centre"
},
{
"id": 1744,
"value": "abcd-16820",
"info": "Centre"
},
{
"id": 16822,
"value": "AaronsburgPA-16820",
"info": "Centre"
}
]);
很简单:
for(prop in newArr) {
arr.push(newArr[prop].id);
}
请允许我建议,您下次可以用谷歌搜索一下,而不是直接到Stack Overflow寻求帮助。:)另外,这不是一个JSON数组:它是一个Javascript数组。最好使用[]
符号(var arr=[]
)初始化数组。非常简单:
for(prop in newArr) {
arr.push(newArr[prop].id);
}
请允许我建议,您下次可以用谷歌搜索一下,而不是直接到Stack Overflow寻求帮助。:)另外,这不是一个JSON数组:它是一个Javascript数组。最好使用[]
符号(var arr=[]
)初始化数组。这应该可以做到:
for (var o in newarr){
arr.push(newarr[o].id);
}
此外,在构建数组对象时,不需要同时使用方括号和新数组
,另一个可以:
var myarray = new Array(1,2,3);
或
这应该做到:
for (var o in newarr){
arr.push(newarr[o].id);
}
此外,在构建数组对象时,不需要同时使用方括号和新数组
,另一个可以:
var myarray = new Array(1,2,3);
或
两个给定的答案都不起作用,因为您正在创建一个嵌套数组(
newarr=newarray([…])
)
算法是:在包含对象的数组中循环,并将每个object.id的值推送到arr
就你而言:
for (var i=0;i<newarr[0].length;i+=1){
if (newarr[0][i].id) {
arr.push(newarr[0][i].id);
}
for(var i=0;i两个给定的答案都不起作用,因为您正在创建一个嵌套数组(newarr=newarray([…])
)
算法是:在包含对象的数组中循环,并将每个object.id的值推送到arr
就你而言:
for (var i=0;i<newarr[0].length;i+=1){
if (newarr[0][i].id) {
arr.push(newarr[0][i].id);
}
for(var i=0;i您可以在数组上使用map
方法:
arr = newarr.map(function(obj) { return obj.id })
以及文档的链接:
如果不是每个对象中都有id,则可能需要筛选null:
arr = newarr.map(function(obj) {
return obj.id
}).filter(function(id){
return id !== undefined
})
文件:
如果确实有嵌套数组,请首先执行以下操作:
newarr = newarr[0]
这里是到的链接,您可以在数组上使用map
方法:
arr = newarr.map(function(obj) { return obj.id })
以及文档的链接:
如果不是每个对象中都有id,则可能需要筛选null:
arr = newarr.map(function(obj) {
return obj.id
}).filter(function(id){
return id !== undefined
})
文件:
如果确实有嵌套数组,请首先执行以下操作:
newarr = newarr[0]
这里有一个链接,指向我用jQuery尝试了这个方法,下面是它的主要功能
我用jQuery尝试了这个方法,下面是它的基本原理
我仍然不明白为什么人们不使用map
来做这个:-/jquery…lame;)我仍然不明白为什么人们不使用map
:-/