我有这个对象值
var data = {
"questions": {
"0": {
"0": "17",
"1": "12"
},
"1": {
"0": "22",
"1": "34"
},
"2": {
"0": "52",
"1": "61"
}
}
}
我正试图从这些对象中获取价值,因为我已经尝试过以下的东西,而不是我真正想要的东西。
alert(Object.keys(data.questions[0])); // Output : 0,1
alert(Object.keys(data.questions[0][0])); // Output : 0
alert(Object.keys(data.questions[0][1])); // Output : 0
任何人都可以帮我找到上述键的价值,如:
questions[0][0] = 17
questions[0][1] = 12
答案 0 :(得分:1)
您获得的结果不是Object.keys
。
var data = { questions: { 0: { 0: "17", 1: "12" }, 1: { 0: "22", 1: "34" }, 2: { 0: "52", 1: "61" } } };
console.log(data.questions[0]); // { 0: "17", 1: "12" }
console.log(data.questions[0][0]); // 17
console.log(data.questions[0][1]); // 12
要搜索值的键路径,可以通过检查所有键和对象来使用迭代和递归方法。
function findValue(object, value) {
var p;
Object.keys(object).some(function (k) {
var t;
if (object[k] === value) {
p = [k];
return true;
}
if (object[k] && typeof object[k] === 'object' && (t = findValue(object[k], value))) {
p = [k].concat(t);
return true;
}
});
return p;
}
var data = { questions: { 0: { 0: "17", 1: "12" }, 1: { 0: "22", 1: "34" }, 2: { 0: "52", 1: "61" } } };
console.log(findValue(data, '17'));
console.log(findValue(data, '34'));
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:1)
要获取任何特定问题的长度(在您的数据结构中),请使用
Object.keys(data.questions["0"])
或Object.keys(data.questions["1"])
获取任何问题的价值
data.questions["0"]["0"]
或data.questions["0"]["1"]
或data.questions["1"]["0"]
依此类推..
答案 2 :(得分:1)
试试这样。
var data = {
"questions": {
"0": {
"0": "17",
"1": "12"
},
"1": {
"0": "22",
"1": "34"
},
"2": {
"0": "52",
"1": "61"
}
}
}
console.log(data.questions["0"]);
console.log(data.questions["0"]["0"]);
console.log(data.questions["0"]["1"]);

答案 3 :(得分:0)
您可以更改数据结构吗?如果我是你,我会将其更改为以下内容:
var data = {
"questions": [
[17, 22],
[22, 34],
[52, 61]
]
};
console.log(data.questions[0]); // Output : 17,22
console.log(data.questions[0][0]); // Output : 17
console.log(data.questions[1][1]); // Output : 34
答案 4 :(得分:0)
访问第一个对象["0"]
要访问前两个对象:["0"]["0"]
,依此类推
基于上面的表达式,我们可以访问像这样的对象
var data = {
"questions": {
"0": {
"0": "17",
"1": "12"
},
"1": {
"0": "22",
"1": "34"
},
"2": {
"0": "52",
"1": "61"
}
}
}
console.log(data.questions["0"]);
console.log(data.questions["0"]["0"]);
console.log(data.questions["0"]["1"]);
console.log(data.questions["1"]["1"]);