我一直在完成对FreeCodeCamp的挑战,偶然发现了这个算法的解决方案.无法理解if else语句如何在这里工作.
function chunkArrayInGroups(arr, size) {
var temp = [];
var result = [];
for (var a = 0; a < arr.length; a++) {
if (a % size !== size - 1)
temp.push(arr[a]);
else {
temp.push(arr[a]);
result.push(temp);
temp = [];
}
}
if (temp.length !== 0)
result.push(temp);
return result;
}
Run Code Online (Sandbox Code Playgroud)
为什么temp = []在else街区尽头?
temp = []表示"将temp变量重置为空数组"
在if块中,arr[a]元素在temp数组的末尾被推送.
在else块中,同样的情况发生并且整个当前temp数组被添加到大result数组数组的末尾,并且temp数组被重置为空数组.
由于您的问题中没有写入数据或上下文,因此不能多说.希望这已经回答了你的问题.
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |