2017-07-17 124 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); 

});