gpt4 book ai didi

javascript - 这个递归函数是怎么结束的呢?

转载 作者:行者123 更新时间:2023-11-30 09:56:28 24 4
gpt4 key购买 nike

这是来自 nodeschool 的函数式 javascript 研讨会。这是那里出现的代码:

function toUpperArray(items) {
if (!items.length) return [] // end condition
var head = items[0] // item to operate
head = head.toUpperCase() // perform action
var tail = items.slice(1) // next
return [head].concat(toUpperArray(tail)) // recursive step
}

toUpperArray(['hello', 'world']) // => ['HELLO', 'WORLD']

我不明白“结束条件”是如何运作的。我认为条件正在寻找 items.length 为 0,但它返回一个空数组?我已经尝试通过让它不返回任何内容来运行它,它返回未定义,因此将未定义添加到最终数组,但我不确定为什么返回一个空数组可以解决这个问题。我希望最终数组中的最后一项是一个空数组。

此外,我从未见过不使用大括号的条件语句。这很重要吗?

最佳答案

当数组为空时。即 items.length == 0。以下条件是 != 0 的缩写形式,因为 0 在 javascript 中是一个假值,不是 0 应该是 true

if (!items.length) return [];

关于javascript - 这个递归函数是怎么结束的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33679532/

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