[英]how to get particular value from json array?
我有一個像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 (var o in newarr){
arr.push(newarr[o].id);
}
同樣,在構建數組對象時,您無需同時使用方括號和new Array
,而另一種則可以:
var myarray = new Array(1,2,3);
要么
var myarray = [1,2,3];
我嘗試使用jQuery,這是它的小提琴 。
$.each(newarr[0], function(k, v) {
arr.push(v.id);
});
console.log(arr);
很簡單:
for(prop in newArr) {
arr.push(newArr[prop].id);
}
請允許我建議您,下次再找Google,而不是直接向Stack Overflow尋求幫助。 :)另外,這不是JSON數組:它是Javascript數組。 並且最好使用[]
表示法( var arr = []
)初始化數組。
給出的兩個答案均無效,因為您正在創建嵌套數組( newarr=new Array([...])
)。
算法是:循環遍歷包含對象的Array,並將每個object.id的值push
送到arr
。
在您的情況下:
for (var i=0;i<newarr[0].length;i+=1){
if (newarr[0][i].id) {
arr.push(newarr[0][i].id);
}
此外:這不是“ JSON數組”。 沒有諸如JSON對象/數組之類的東西
您可以在數組上使用map
方法:
arr = newarr.map(function(obj) { return obj.id })
以及文檔的鏈接: https : //developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/map
如果您在每個對象中都沒有ID,則可能需要filter
null:
arr = newarr.map(function(obj) {
return obj.id
}).filter(function(id){
return id !== undefined
})
文檔: https : //developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Global_Objects/Array/filter
如果您確實有一個嵌套數組,請首先執行以下操作:
newarr = newarr[0]
這是jsfiddle的鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.