[英]How to create multiple array from single array?
我有一種情況,我在數組中獲取數據,我必須將其轉換為多個 arrays ......就像矩陣一樣。
const array = [1,2,3,4,5,6,7,8,9]
output 應該是:
[[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;
也許試試這個?
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)
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);
};
});
如果你不介意的話。
或者您可以在 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}
我認為這將能夠解決您的問題。
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 的塊數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.