js 一維陣列轉二維陣列

泥猴桃發表於2018-12-04

廢話不多說直接上程式碼

var arr = ['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'];
var newArr = [];
var len = arr.length;
for(let i = 0, j = 0; i < len; i += 8, j++){
    newArr[j] = arr.splice(0, 8);
}
console.log(newArr)

結果如下圖
在這裡插入圖片描述

這裡解釋一下,len 這個變數是一定要在頂部宣告 把arr.length 賦值給他一下。至於原因
因為 陣列splice() 方法用於新增或刪除陣列中的元素。而且會改變原始陣列。
返回值:如果僅刪除一個元素,則返回一個元素的陣列。 如果未刪除任何元素,則返回空陣列。

如果我們吧for 迴圈中的 len 換成arr.length 以後 第一次迴圈刪除了陣列內容,陣列長度會自動改變,就不能處理成我們預期的效果

相關文章