![](/img/trans.png)
[英]Convert array of values to array of objects (key-value) pairs in JavaScript
[英]Fetch values of key-value in array of objects
我試圖在對象數組中顯示所有鍵值對的值。 我已經嘗試了幾種方法,例如http://jsfiddle.net/4Mrkp/ ,但我似乎無法讓它處理我的數據。
數據,我想只顯示汽車:
{
"response":{
"status":"200",
"messages":{},
"milliseconds":"2"
},
"input":{
"provinceid":{},
"supplierid":"12345678",
"statusid":{ }
},
"output":{
"count":"7",
"list":{
"make":[
{"name":"Alfa Romeo"},
{"name":"Audi"},
{"name":"BMW"},
{"name":"Chevrolet"},
{"name":"Chrysler"},
{"name":"Citroen"},
{"name":"Dacia"}
]
}}
}
到目前為止,我的代碼顯示了make
這個詞:
function display_makes(obj)
{
document.getElementById("temp-id").innerHTML =
Object.keys(obj.output.list.make).forEach(function(key){
document.write(key);});
}
所以下一步是獲取make
的每個元素的值,但是如何? 有什么想法嗎?
您可以使用underscoreJS來操作JSON。
var make = _.map(json_object.output.list.make,function(make) {
document.write(make.name);
return make;
})
此make變量將包含鍵值對中的值。
這比你想象的要容易。 只是遍歷數組並忘記其余部分:
object.output.list.make.forEach(function(item){
document.write(item);
});
您正在使用該數組,因此您根本不需要Object.keys()
不要在obj.output.list.make
上使用Object.keys
,因為它是一個數組,請使用:
obj.output.list.make.forEach(function(obj) {
console.log(obj.name);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.