Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了计算数组数组中的项目?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有一个声明为的对象

let compoundarray = [Array<String>]

是否有一个属性可以给我在compoundarray中包含的所有数组中的字符串数?

我可以通过在每个数组中添加所有项目来实现:

var @R_190_10586@lCount = 0
for array in compoundarray {
   @R_190_10586@lCount += array.count }
//@R_190_10586@lCount = @R_190_10586@l items in all arrays within compoundarray

但这似乎很笨拙,看起来swift会有一个Array的属性/@L_607_11@来做到这一点,不是吗?

谢谢!

解决方法

您可以使用添加嵌套数组计数

let count = compoundarray.reduce(0) { $0 + $1.count }

大型阵列的性能比较(在发布配置中在MACBook Pro上编译和运行):

let N = 20_000
let compoundarray = Array(repeaTing: Array(repeaTing: "String",count: N),count: N)

do {
    let start = Date()
    let count = compoundarray.joined().count
    let end = Date()
    print(end.timeIntervalSince(start))
    // 0.729196012020111
}

do {
    let start = Date()
    let count = compoundarray.flatMap({$0}).count
    let end = Date()
    print(end.timeIntervalSince(start))
    // 29.841913998127
}

do {
    let start = Date()
    let count = compoundarray.reduce(0) { $0 + $1.count }
    let end = Date()
    print(end.timeIntervalSince(start))
    // 0.000432014465332031
}

大佬总结

以上是大佬教程为你收集整理的计算数组数组中的项目?全部内容,希望文章能够帮你解决计算数组数组中的项目?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。