の最初の3つの要素を削除し、array
それらを新しい配列に追加していることを理解しています。しかし、関数はどのようにして配列の後続のチャンクを新しい配列変数に追加し続けるのでしょうか?
while
適切な条件なしでループはどのように機能しますか?
splice()
こことのコラボレーションはどのように機能しますか?
function chunkArrayInGroups(arr, size){
let newArr = [];
while(arr.length){
newArr.push(arr.splice(0, size))
}
return newArr;
}
chunkArrayInGroups(["a", "b", "c", "d"], 2);
条件はwhile(arr.length)
です。whileループは、その条件が真である間実行されます。JavaScriptでは、次のいずれかでない限り、すべての条件が真実です。
false
0(ゼロ)
''または ""(空の文字列)
ヌル
未定義
NaN(例:1/0の結果)
あなたの場合、while
配列に要素が含まれている間(arr.length
ゼロより大きい)にarr.length
ループが実行されます。これは、がゼロの場合、whileループの実行が停止するためです。
arr.splice
一方、arr
実行されるたびに1つの要素が削除されます(arr
長さが変更されます)。したがって、要素が残っていない場合arr
(arr.splice
すべて削除されているため)、while
ループは停止します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加