Javascript:如何从数组中的对象获取对象
样本数据:Javascript:如何从数组中的对象获取对象,javascript,Javascript,样本数据: { "data": [ { "name": { "full": "JOHN", "rank": "SENIOR" }, "mobile": "12345" }, { "name": { "full": "HENRY", "rank": "SENIOR" }, "mobile": "67890" }, {
{
"data": [
{
"name": {
"full": "JOHN",
"rank": "SENIOR"
},
"mobile": "12345"
},
{
"name": {
"full": "HENRY",
"rank": "SENIOR"
},
"mobile": "67890"
},
{
"name": {
"full": "SAM",
"rank": "JUNIOR"
},
"mobile": "54321"
}
]
}
我试图从上面的数据样本中获取高级成员的总数,我可以从父“name”对象中获取data.name和data.mobile,但无法获取“rank”数据。有谁能指导我获取排名数据吗。下面是我的javascript:
function countRank(rank) {
var i;
for (i in rank.data) {
if (rank.data[i] == "SENIOR") {
i++;
}
document.getElementById('senior').innerHTML = 'Total senior members: ' + i;
}
}
<div id="senior"></div>
函数countRank(秩){
var i;
对于(排名数据中的i){
if(排名数据[i]=“高级”){
i++;
}
document.getElementById('senior').innerHTML='Total senior members:'+i;
}
}
试试这个
函数countRank(秩){
var k=0;
对于(变量i=0;i
假设整个对象被称为obj
:
var i=0;
for (i=0; i < obj.data.length; i++) {
console.log(obj.data[i].name.rank);
}
var i=0;
对于(i=0;i
函数countRank(秩){
var计数=0;
var arr=秩数据;
对于(var i=0;i你可以做这样的事情
var rank = {
"data": [{
"name": {
"full": "JOHN",
"rank": "SENIOR"
},
"mobile": "12345"
}, {
"name": {
"full": "HENRY",
"rank": "SENIOR"
},
"mobile": "67890"
}, {
"name": {
"full": "SAM",
"rank": "JUNIOR"
},
"mobile": "54321"
}]
};
function countRank(rank) {
var i = 0,
arr = rank.data;
for (var j = 0; j < arr.length; j++) {
for (var prop in arr[j]) {
if (arr[j][prop].rank == "SENIOR") {
i++;
}
document.getElementById('senior').innerHTML = 'Total senior members: ' + i;
}
}
}
countRank(rank);
var秩={
“数据”:[{
“姓名”:{
“满”:“约翰”,
“级别”:“高级”
},
“移动”:“12345”
}, {
“姓名”:{
“满”:“亨利”,
“级别”:“高级”
},
“手机”:“67890”
}, {
“姓名”:{
“完整”:“山姆”,
“等级”:“初级”
},
“移动”:“54321”
}]
};
函数countRank(秩){
var i=0,
arr=秩数据;
对于(var j=0;j
使用jQuery,您可以轻松地从上述数据中找到排名。
在jsFiddle上签出示例
您同时对两个不同的事物使用了i
。@Musa是正确的。我认为您应该为第一个变量设置名称«key»,并为count使用另一个变量。-1.如果我们在for in中使用它,我们就不可能对它进行递增。当然,在数组中首先使用它是不好的做法。
var i=0;
for (i=0; i < obj.data.length; i++) {
console.log(obj.data[i].name.rank);
}
function countRank(rank) {
var count = 0;
var arr = rank.data;
for (var i=0; i<arr.length; i++) {
var name = arr[i].name;
if (name.rank == "SENIOR") {
count++;
}
}
alert(count);
}
var rank = {
"data": [{
"name": {
"full": "JOHN",
"rank": "SENIOR"
},
"mobile": "12345"
}, {
"name": {
"full": "HENRY",
"rank": "SENIOR"
},
"mobile": "67890"
}, {
"name": {
"full": "SAM",
"rank": "JUNIOR"
},
"mobile": "54321"
}]
};
function countRank(rank) {
var i = 0,
arr = rank.data;
for (var j = 0; j < arr.length; j++) {
for (var prop in arr[j]) {
if (arr[j][prop].rank == "SENIOR") {
i++;
}
document.getElementById('senior').innerHTML = 'Total senior members: ' + i;
}
}
}
countRank(rank);
$.each(jsonData.data, function (index, value) {
alert(value.name['rank']);
});