我有这个数组结构:
var $obj = {
'sections1' : {
'row1' : {
'key1' : 'input1',
'key2' : 'inpu2'
},
'row2' : {
'key1' : 'input1',
'key2' : 'inpu2'
}
},
'sections2' : {
'row3' : {
'key1' : 'input1',
'key2' : 'inpu2'
},
'row4' : {
'key1' : 'input1',
'key2' : 'inpu2'
}
}
};
我想从$obj->section2->row4->key2
获取数据。我怎样才能使用jquery和javascript来实现它。
更新:我希望它在段落或div中打印值
<p id="array"></p>
答案 0 :(得分:1)
在javascript中使用.
(点)表示法来访问值
var obj = {
'sections1' : {
'row1' : {
'key1' : 'input1',
'key2' : 'inpu2'
},
'row2' : {
'key1' : 'input1',
'key2' : 'inpu2'
}
},
'sections2' : {
'row3' : {
'key1' : 'input1',
'key2' : 'inpu2'
},
'row4' : {
'key1' : 'input1',
'key2' : 'inpu2'
}
}
};
console.log(obj.sections2.row4.key2);
答案 1 :(得分:1)
有不同的方式。最合适的是:
括号表示法
var prop = object['property_name'];
点符号
var prop = object.property_name;
在你的情况下,它将是
var obj = {
'sections1' : {
'row1' : {
'key1' : 'input1',
'key2' : 'inpu2'
},
'row2' : {
'key1' : 'input1',
'key2' : 'inpu2'
}
},
'sections2' : {
'row3' : {
'key1' : 'input1',
'key2' : 'inpu2'
},
'row4' : {
'key1' : 'input1',
'key2' : 'inpu2'
}
}
};
console.log(obj.sections2.row4.key2);//Dot notation
console.log(obj['sections2']['row4']['key2']);//Bracket notation
document.getElementById("array").innerHTML=obj.sections2.row4.key2;
&#13;
<p id="array"></p>
&#13;
有关详细信息,请参阅 MDN Property Accessors
锄头有帮助:)
答案 2 :(得分:1)
实际上它看起来很安静,简单你的要求 您可以使用数组表示法或(。)点运算符
1)数组表示法$obj['section2']['row4']['key2'];
2)点运算符$obj.section2.row4.key2;
Nb:请使用数组表示法如果密钥中有空格,那么在密钥未知的情况下是安全的
如果需要,可以遍历可用于循环的所有键