簡體   English   中英

JavaScript 二維數組和嵌套循環的問題

[英]Trouble with JavaScript 2D array and nested loop

你能解釋一下我錯過了什么嗎? 可能還有我能做些什么來解決它。 我收到錯誤:TypeError:嘗試將數據添加到此二維數組時無法設置未定義的屬性(設置“0”)。

        wixData.query("paidLineItems").eq("paidOrderId", orderNumber).find().then((result)=>{

        let nbrRecs = result.totalCount
        let newOrder = [];

        matrix = new Array(nbrRecs).fill(0).map(() => new Array(8).fill(0));
        for (var i = 0; i < nbrRecs; i++) {
            let lineItem = result.items[i];
            if (result.items[i].prodQty > 1) {
                let qty = result.items[i].prodQty
                while (multipleLineCtr < qty) {
                        matrix[multipleLineCtr][0] = lineItem.email
                        matrix[multipleLineCtr][1] = lineItem.prodName
                        matrix[multipleLineCtr][2] = lineItem.prodQty
                        matrix[multipleLineCtr][3] = multipleLineCtr
                        matrix[multipleLineCtr][4] = "Jesus"
                        matrix[multipleLineCtr][5] = lineItem.paidOrderId
                        matrix[multipleLineCtr][6] = lineItem.purchaseDt
                        matrix[multipleLineCtr][7] = lineItem.dtSupportEnds
                        multipleLineCtr++;
                }
            }else {
                matrix[cnt][0] = lineItem.email
                matrix[cnt][1] = lineItem.prodName
                matrix[cnt][2] = lineItem.prodQty
                matrix[cnt][3] = 1
                matrix[cnt][4] = "Jesus"
                matrix[cnt][5] = lineItem.paidOrderId
                matrix[cnt][6] = lineItem.purchaseDt
                matrix[cnt][7] = lineItem.dtSupportEnds
                cnt++;
            }
        }
    })
    .catch((error) => {
        console.log(error);
    }); 
});

您應該檢查matrix[index]是否為數組,如果是,您應該在matrix[index]處創建一個數組。

matrix[multipleLineCtr] ||= [];

或傳統方式:

if (!Array.isArray(matrix[index])) {
    matrix[index] = [];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM