我有一種情況,我在一個陣列中獲取資料,我必須將它轉換為多個陣列......就像矩陣一樣。
const array = [1,2,3,4,5,6,7,8,9]
輸出應該是:
[[1,3],[2,4],[5,7],[6,8],[9]]
這就是我到目前為止所擁有的:
let i = 0;
const add = [];
while (i < list.length) {
add.push([list[i], list[i 2]]);
i = i 1;
}
return add;
uj5u.com熱心網友回復:
也許試試這個?
let i = 0;
const list = [1,2,3,4,5,6,7,8,9]
const add = [];
let newarr =[]
while (i < list.length) {
add.push([list[i], list[i 2]]);
add.push([list[i 1],list[i 3]])
i =4;
}
//remove undefined item from the array
newarr = add.map(arr=>arr.filter(item =>item != undefined)).filter(item=>item!="")
console.log(newarr)
uj5u.com熱心網友回復:
const array = [1,2,3,4,5,6,7,8,9];
const visitedIndex = [];
const newArray = [];
array.forEach((element, i) => {
if (!visitedIndex.includes(i)) {
if (array[i 2]) {
newArray.push([array[i], array[i 2]])
} else {
newArray.push([array[i]])
}
visitedIndex.push(i);
visitedIndex.push(i 2);
};
});
uj5u.com熱心網友回復:
如果你不介意的話。
或者您可以在 vanila js 中使用遞回方法。
const array = [1,2,3,4,5,6,7,8,9];
const chunk = (arr, n) => arr.length ? [arr.slice(0, n), ...chunk(arr.slice(n), n)] : [];
console.log(chunk(array, 2));
.as-console-wrapper{min-height: 100%!important; top: 0}
uj5u.com熱心網友回復:
我認為這將能夠解決您的問題。
function chunkArrayInGroups(arr, size) {
let newArr = [];
for (let i = 0; i < arr.length; i = size) {
newArr.push(arr.slice(i, i size));
}
console.log(newArr)
return newArr;
}
chunkArrayInGroups([1,2,3,4,5,6,7,8,9],2)
這會將我們更大的陣列分成大小為 2 小于 2 的塊陣列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417728.html
標籤:
