我正在嘗試將一個值推入二維陣列,但出現錯誤:
無法讀取未定義的屬性“推送”
這是我的代碼的 MWE:
var saida = new Array()
for (i in dbInfo){
saida[i].push(i)
}
WheredbInfo是我作業表中的一個范圍,但可以用此示例的任何其他范圍替換。我需要輸出是一個二維陣列,這樣我就可以將值計算到作業表中。
uj5u.com熱心網友回復:
如果您剛剛創建了陣列,則該陣列為空。所以無論 n 有什么值, saida[n] 都將是未定義的。
您需要先創建它。然后你就可以推進去了。
也許是這樣的?不確定你需要什么。
var saida = new Array()
for (i in dbInfo){
saida[i]=[]
saida[i].push(i)
}
uj5u.com熱心網友回復:
您需要將陣列定義為 2d 例如: int[,] arr= new string[3, 2];
您將需要迭代兩次。
for(int col1 = 0; col1 < arr.GetLength(0); col1 ){
for(int row1 = 0; row1 < arr.GetLength(1); row1 )
{
arr[col1,row1] = 2;
}
}
uj5u.com熱心網友回復:
如果是SheetdbInfo中的型別物件,則使用后回傳的陣列已經是 2D 陣列,因此一個簡單的賦值就足夠了:RangegetValues
function addData() {
// your other code
let dbInfoVals = dbInfo.getValues();
let saida = dbInfoVals;
console.log(saida)
}
但是,如果dbInfo是一維陣列,則可以使用spliceJavaScript 中的方法將其轉換為二維陣列:
function addData() {
// your other code
let saida = [];
while (dbInfo.length){
saida.push(dbInfo.splice(0, 2));
}
console.log(saida);
}
的第二個引數splice將為您提供列數,因此您可能需要相應地調整它以匹配您的范圍。
參考
范圍類 - getValues();
Array.prototype.splice()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/416109.html
標籤:
上一篇:如何使用Apps腳本使用Query和Importrange
下一篇:如何平均電子表格中的錯誤
