我如何遍历 JSON 对象并获取每个第 n 个值并为其生成一个 css 网格 #id 元素。
直接示例:我想要数组中第三个元素的每个值,并在 div 中将它们填充在彼此下方。
valueRanges: Array(1)
0:
majorDimension: "ROWS"
range: "'ma1'!A1:J38"
values: Array(38)
0: (10) ["maandag 1 april 2019", "", "", "", "", "", "", "", "", "week IV"]
1: Array(10)
0: "kafee"
1: "naam"
2: "functie"
3: "van"
4: "tot"
5: "van"
6: "tot"
7: "Subtotaal"
8: "totaal"
9: "Info"
length: 10
__proto__: Array(0)
2: Array(10)
0: ""
1: "Ine"
2: ""
3: "9:30"
4: ""
5: ""
6: "18:00"
7: "8,5"
8: "8"
9: "Reservaties/opmerkingen"
length: 10
__proto__: Array(0)
3: (9) ["", "Michiel", "", "9:30", "", "", "17:30", "8", "7,5"]
我用
获取数据document.getElementById("test").innerHTML = response.result.valueRanges[0].values[0][0];
var request = gapi.client.sheets.spreadsheets.values.batchGet(params);
request.then(function(response) {
// TODO: Change code below to process the `response` object:
console.log(response.result);
document.getElementById("currentday").innerHTML = response.result.valueRanges[0].values[0][0];
document.getElementById("StartHourOne").innerHTML = response.result.valueRanges[0].values[2][3];
document.getElementById("EndHourOne").innerHTML = response.result.valueRanges[0].values[2][6];
document.getElementById("BarTeamNightNameOne").innerHTML = response.result.valueRanges[0].values[11][1];
我可以对工作表中的每个单元格执行此操作,但该工作表中有很多单元格。
我希望我可以利用 JSON 中的返回结构。
我已经能够手动添加单元格。对于每个对象,但我认为我需要一个 for 循环。
因此为此尝试了一个 for 循环,但这没有用。
valueRanges: Array(1)
0:
majorDimension: "ROWS"
range: "'ma1'!A1:J38"
values: Array(38)
0: (10) ["maandag 1 april 2019", "", "", "", "", "", "", "", "", "week IV"]
1: Array(10)
0: "kafee"
1: "naam"
2: "functie"
3: "van"
4: "tot"
5: "van"
6: "tot"
7: "Subtotaal"
8: "totaal"
9: "Info"
length: 10
__proto__: Array(0)
2: (10) ["", "Ine", "", "9:30", "", "", "18:00", "8,5", "8", "Reservaties/opmerkingen"]
值数组显示 0 - 38 个从 0 - 10 开始的其他数组。现在例如每个 0 - 10 数组在其父数组 (0 - 38) 上都有相同的数据。我如何迭代我用每个第一个值填充新的 div 元素,例如 0 - 14 个父数组。
我已经尝试根据@Kiryhas 的行动进行关注。
但这给了我以下内容。
以下代码:
const object1 = { response.result.valueRanges[0].values[2][1] , 1: response.result.valueRanges[0].values[2][3], 2: response.result.valueRanges[0].values[2][6], 3: response.result.valueRanges[0].values[2][7]};
console.log(Object.entries(object1));
给我这个结果:
(4) [Array(2), Array(2), Array(2), Array(2)]
0: Array(2)
0: "0"
1: "Ine"
length: 2
__proto__: Array(0)
1: (2) ["1", "9:30"]
2: Array(2)
0: "2"
1: "18:00"
length: 2
__proto__: Array(0)
3: (2) ["3", "8,5"]
length: 4
__proto__: Array(0)
因为我只想要每个数组的以下数组的数组元素 1、3、6、7
2: Array(10) (or any other array)
0: ""
1: "Ine"
2: ""
3: "9:30"
4: ""
5: ""
6: "18:00"
7: "8,5"
8: "8"
9: "Reservaties/opmerkingen"
最佳答案
根据您对该对象中的键的关心程度,您可以使用 Object.keys(yourObject)
或 Object.entries(yourObject) 迭代值或键值对:
const object1 = { foo: 'bar', baz: 42 };
console.log(Object.entries(object1)[1]);
// expected output: Array ["baz", 42]
const object2 = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.entries(object2)[2]);
// expected output: Array ["2", "c"]
const result = Object.entries(object2).sort((a, b) => a - b);
console.log(Object.entries(result)[1]);
expected output: Array ["1", Array ["1", "b"]]
引用尝试下面的链接
这将允许您通过一个针对每个第 N 个值的循环来遍历它们。
关于javascript - 遍历 json 并获取每个第 x 个对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55568460/