gpt4 book ai didi

二维数组中的 JavaScript 类型错误

转载 作者:行者123 更新时间:2023-12-01 03:29:25 24 4
gpt4 key购买 nike

我正在尝试将 json 中的值读取到二维数组中

  var arr = [[],[]];
var i = 0;
var file = './test.json';
jsonfile.readFile(file, function(err, objs) {
let i = 0;
objs.forEach(function (obj) {
arr[i][0] = obj["outcount"];
arr[i][1] = obj["gateID"];
arr[i][2] = obj["timestamp"];
arr[i][3] = obj["eventCode"];
i = i + 1;
});
console.log(arr[2]);
})

对于 i = 0 和 i = 1,它工作正常,但在 i = 2 时它给出错误

TypeError: Cannot set property '0' of undefined

最佳答案

您的数组 arr 中只有两项,即空数组。
所以 arr[0] 是第一个,arr[1] 是第二个,仅此而已,arr[2] 不存在。如果您有 arr = [[],[],[]];,则 arr[2] 可以工作,但您可以在那里看到问题。
最好的选择是在使用子数组之前创建它。
此外,forEach 函数还提供了一个计数器,您可以使用该计数器来代替创建自己的计数器。

var arr = [];
var file = './test.json';
jsonfile.readFile(file, function(err, objs) {
objs.forEach(function (obj, i) {
arr[i] = [];
arr[i][0] = obj["outcount"];
arr[i][1] = obj["gateID"];
arr[i][2] = obj["timestamp"];
arr[i][3] = obj["eventCode"];
i = i + 1;
});
console.log(arr[2]);
})

关于二维数组中的 JavaScript 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44619850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com