簡體   English   中英

獲取對象數組中鍵值的值

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM