我想動態地創建一個從1到100的數字陣列,其中包含4個陣列,每個陣列包含5個數字的陣列。 例如:
[
[[1,2,3。 4,5], [6,7, 8,9,10], [11,12, 13。 14,15],[16, 17, 18, 19, 20],[21,22,23,24,25] 。]
[[26,...,30],[31,...,35], [36,. ...,40],[41,...,45],[46, ...,50]。
[[51,...55],[56,...60],[61,... ...,65],[66,...,70],[71,...,75] 。]
[[76,...,80],[81,...,85], [86,. ...,90],[91,...95],[96, ... 100]
]
uj5u.com熱心網友回復:
試試這個:
function chunk(items, size){
const chunks = [] 。
items = [].concat(... items)
while (items.length) {
chunks.push(
items.splice(0, size)
)
}
回傳 chunks
}
然后
chunk(Array.from({length: 100}, (_, i) => i 1),5)
uj5u.com熱心網友回復:
有趣的問題。你可以使用reduce()來將專案分組到給定大小的嵌套陣列中。
我的方法如下:首先創建一個數字陣列,從1到100遞增。然后,使用reduce()將它們分組為20。最后,使用.map()和.reduce()一起將嵌套陣列分成5組。
const chunk = (values, chunkSize) =>
values.reduce((accum, val) => {
const lastGroup = accum[accum.length - 1] 。
const isFull = lastGroup.length ==chunkSize;
if (isFull) { return [...accum, [val]]; }
return [...accum.slice(0,-1), [...lastGroup, val] ] 。
}, [[]]);
const oneDimList = Array.from({ length。100 }, (val, index) => index 1)。)
const twoDimList = chunk(oneDimList, 20)。
const threeDimList = twoDimList. map(span class="hljs-params">nestedArr => chunk(nestedArr, 5) )。)
console.log(threeDimList);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/306898.html
標籤:
