gpt4 book ai didi

javascript - while循环如何在没有条件的情况下工作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:10 25 4
gpt4 key购买 nike

我知道它正在删除 array 的前 3 个元素并将它们添加到新数组中。但是该函数如何继续将数组的后续 block 添加到新的数组变量中?

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 (zero)

'' or "" (empty string)

null

undefined

NaN (e.g. the result of 1/0)

在您的情况下,while 循环将在数组中包含元素(arr.length 大于零)时运行,因为如果 arr. length 为零 while 循环将停止执行。

另一方面,

arr.splice 每次执行时都会从 arr 中删除一个元素(它会改变 arr 的长度) .因此,当 arr 中没有剩余元素时(因为 arr.splice 将它们全部删除),while 循环将停止。

关于javascript - while循环如何在没有条件的情况下工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52558602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com