Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从json数组中获取特定值?_Javascript_Json_Getjson - Fatal编程技术网

Javascript 如何从json数组中获取特定值?

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, "

我有一个类似于newarr的json数组名。如何从json数组中获取所有id,以及如何在arr值中添加

 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
:-/