我試圖從一個JSON讀值轉換成一個二維數組JavaScript的類型錯誤在2D陣列
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'只包含2個元素,那你得到'常用3 [0]'和'改編[1]'但是當你試圖獲得第3,不存在的元素與'ARR [2] '你得到'undefined',然後嘗試訪問'undefined'的屬性,它給你那個TypeError –
@MikaelLennholm如何創建一個沒有元素限制的二維數組? – Arpit
看到穆薩的回答。數組沒有設置數量的元素也沒有最大數量的元素,您可以自由地從數組中添加和刪除 –