2017-07-17 252 views
0

我有一個對象數組。我在數組對象上循環,所以我得到存儲在數組中的所有對象。現在我想要獲取任何單個對象的元素。獲取對象元素jquery

我試過這段代碼來管理這個,但是在輸出中我得到了對象的整個元素。

function loadPropertiesFromJson(propertiesArray) 
{ 
    $.each(propertiesArray, function(idx, obj){ 
     $.each(obj, function(key, value){ 
     console.log(key + ": " + value.key); 
     }); 
    }); 
} 

有沒有辦法讓對象個體的元素?

我的對象的數組是這樣的:

[ 
    {"id":"aa","name":"bb","type":"cc"}, 
    {"id":"ee","name":"rr","type":"ff"} 
] 

,我想獲得的ID,姓名,... individualy和存儲主題爲變量。

有一種方法可以解決這個問題嗎?

+0

你的意思是你想獲得所有的名字,並把他們在各自爲陣,或者你想要的特定項目的名字嗎?如果是後者,通過索引訪問數組:array [0] .name' –

+0

完美,它們適用於我,我剛剛刪除了第二個循環,並訪問對象元素像這樣拋出數組''propertiesArray [idx] .id 「 –

回答

0

您可以通過在一個給定的索引訪問的屬性實現這一點:

var propertiesArray= [{ 
 
    "id": "aa", 
 
    "name": "bb", 
 
    "type": "cc" 
 
    }, 
 
    { 
 
    "id": "ee", 
 
    "name": "rr", 
 
    "type": "ff" 
 
    } 
 
]; 
 

 
console.log("ID: "+propertiesArray[0].id); 
 
console.log("Name: "+propertiesArray[0].name); 
 
console.log("-------------"); 
 
console.log("ID: "+propertiesArray[1].id); 
 
console.log("Name: "+propertiesArray[1].name);

0

我是否正確理解你想獲得每個項目的價值。 因此,只要在第二循環的末尾刪除鍵:value.key在每個循環:

function loadPropertiesFromJson(propertiesArray) 
{ 
    $.each(propertiesArray, function(idx, obj){ 
     $.each(obj, function(key, value){ 
     console.log(key + ": " + value); 
     }); 
    }); 
} 

它分開返回所有值。

0

在這裏,你用的解決方案去https://jsfiddle.net/k5sgn8xn/

var data = [ 
 
    {"id":"aa","name":"bb","type":"cc"}, 
 
    {"id":"ee","name":"rr","type":"ff"} 
 
]; 
 
    
 
$.each(data, function(key){ 
 
    $.each(data[key], function(k, v){ 
 
    \t $('div:eq("' + key + '")').attr(k, v); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    test1 
 
</div> 
 
<div> 
 
    test2 
 
</div>

這將幫助你增加屬性ň數字容器。

0

謝謝。 @Mathias Falci的解決方案適用於我。

有是工作代碼:

$.each(propertiesArray, function(idx, obj){ 

     console.log(propertiesArray[idx].id); 

});