gpt4 book ai didi

arrays - 使用 reduce 或 joined 组合数组有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:07 25 4
gpt4 key购买 nike

考虑以下字符串数组:

let arrayStrings = ["H", "e", "l", "l", "o"]

为了组合它的元素(将“Hello”作为单个字符串),我们可以:

reduce 它:

let reducedString = arrayStrings.reduce("", { $0 + $1 }) // "Hello"

join 它:

let joinedString = arrayStrings.joined() // "Hello"

两者都将返回“Hello”字符串作为输出。

但是,在确定这种过程的更好选择时,要牢记什么逻辑?根据性能进行比较时有什么区别?

最佳答案

joinedreduce 更好的选择有两个原因:

  1. 可读性

    如果你想将多个字符串连接成一个字符串,为什么要使用 reduce 并手动连接?如果您要执行的任务有特定功能,请使用它。阅读代码时,joinedreduce更容易理解。

  2. 表现

    String

    joinedreduce 可以更好地实现。它不一定是,但它可以。 reduce 一次对一个元素进行操作,不知道其他元素,并传递许多临时变量。 joined 了解整个序列,并且知道操作始终相同,因此可以进行优化。它甚至可以使用 String 的内部结构。参见 String.joined implementation .

总而言之,始终使用更具体的实现。请注意,上述性能原因是次要的。

关于arrays - 使用 reduce 或 joined 组合数组有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48850292/

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