计算数组数组中的项目数?

2023-12-26

如果我有一个声明为的对象

let compoundArray = [Array<String>]

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

我可以通过将每个数组中的所有项目相加来做到这一点:

var totalCount = 0
for array in compoundArray {
   totalCount += array.count }
//totalCount = total items in all arrays within compoundArray

但这看起来很笨重,而且 swift 似乎有一个 Array 的属性/方法来做到这一点,不是吗?

Thanks!


您可以添加嵌套数组计数

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

性能比较large数组(在发布配置的 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
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算数组数组中的项目数? 的相关文章

  • 从未调用过交互式委托方法

    我想在 ViewController 1 和 NavigationViewController 2 之间进行交互式转换 NavigationController 通过按钮调用 因此呈现时没有交互转换 它可以通过按钮或 UIPanGestur
  • Swift:设置协议的可选属性

    如何设置协议的可选属性 例如 UITextInputTraits 有许多可选的读 写属性 当我尝试以下操作时 出现编译错误 无法分配给 textInputTraits 中的 keyboardType func initializeTextI
  • 将类型传递给通用 Swift 扩展,或者理想情况下推断它

    说你有 class Fancy UIView 你想找到所有兄弟姐妹Fancy意见 没问题 https stackoverflow com q 37232743 294884 for v UIView in superview subview
  • SwiftUI:隐藏键盘但显示光标

    我想使用自定义按钮将文本输入到TextField 但仍显示并移动光标 有没有办法隐藏默认键盘 同时仍然显示光标 我希望有这样的事情 TextField text text keyboardType none 这是它目前的样子 您可以使用UI
  • 删除近排序数组中未排序/离群元素

    给定一个像这样的数组 15 14 12 3 10 4 2 1 我如何确定哪些元素乱序并删除它们 在本例中为数字 3 我不想对列表进行排序 而是检测异常值并将其删除 另一个例子 13 12 4 9 8 6 7 3 2 我希望能够删除 4 和
  • 在 SwiftUI 中使用可观察对象切换视图

    我正在练习尝试使用 SwiftUI 中的可观察对象切换视图 但我的代码无法正常工作 我知道我可以用 State 来做到这一点 但我想用可观察的对象来实现这一点 当我单击内容视图中的图像时 图像不会改变 有人能帮我吗 内容视图 swift i
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • Swift:本地化字符串数组

    我有一个包含 100 多个字符串的数组 其设置如下所示 有什么方法可以本地化数组中的所有字符串 或者这是设置它的更好方法吗 var listOfThings Cars Mopeds 我建议将字符串放入 plist 文件中 然后可以根据需要本
  • 无效的捆绑包...包含不允许的文件“frameworks”

    我尝试通过应用程序加载器发布我的应用程序 但我不断收到此错误 我试过了这个解决方案 https stackoverflow com questions 25777958 validation error invalid bundle the
  • Javascript:如何将数组映射并将字符串内容拆分到新单元格

    我应该在js上使用哪些代码来映射具有分割单元格但不重复的数组 12 3 3 5 66 22 into 12 3 5 66 22 您可以连接和拆分字符串 console log 12 3 3 5 66 22 join split
  • 如何检测在 MapView 中选择了哪个注释

    我在地图内做了一些注释 当我点击它们时 我会看到一些信息 并且有一个打开地图的按钮 并且使用我无法接受的正确信息应该可以绘制出我的路线 这是我的代码 我有 2 个双精度数组用于我的经纬度 我从查询中填充了它们 var lat Double
  • 面试题:三个数组,O(N*N)

    假设我们有three长度数组N其中包含任意数量的类型long 然后我们得到一个数字M 相同类型 我们的任务是选择三个数字A B and C每个数组中的一个 换句话说A should从第一个数组中选取 B从第二个开始和C从第三个 所以总和A
  • C 数组计数(初学者)[重复]

    这个问题在这里已经有答案了 我目前正在阅读 Kernighan 和 Richie 所著的 C 编程语言 我正在努力弄清楚一行代码的作用 我想我只是有点愚蠢 不太明白他们的解释 ndigit c 0 我不得不稍微改变一下程序ndigit之前给
  • WKWebView不加载https URL?

    我有一个 WKWebView 应该加载以下网址 https buchung salonmeister de place offer details page id 907599 venueId 301655 她是我使用的代码 import
  • 如何处理“不符合”的数组?

    如何对两个数组进行逐元素算术运算 在第一维度中一致 但也有一个额外的维度 示例 乘法数组a 3 x 3 x 2 按数组b 3 x 3 a lt array 1 18 dim c 3 3 2 b lt diag 3 由于数组不一致 因此以下操
  • 如何通过 Google Sheets API 进行基本写作?

    在使用 Swift 学习 Google Sheets API 的过程中 我想将单个范围写入电子表格 调查iOS 快速入门指南 https developers google com sheets quickstart ios ver swi
  • 如何更改 MGLPolyline 的颜色?

    如何更改 MGLPolyline 的颜色 我曾经看过here https stackoverflow com questions 32024464 customize mglpolyline using mapbox但答案不起作用 我还尝试
  • C++ 通过引用传递动态分配的二维数组

    这个问题是基于之前提出的问题而提出的 通过已知大小的引用多维数组传递 https stackoverflow com questions 529109 c pass by reference multidimensional array w
  • 如何在 Swift 3 iOS 10 中创建自定义相册

    这听起来可能是重复的 但经过搜索 我仍然没有得到 Swift 3 的预期答案 当我尝试使用添加资产时为资产创建占位符后addAssets 方法 Xcode 建议我将 assetPlacehoder 转换为 FastEnumeration 类
  • 如何在松开按钮后立即看到新的视频层?

    我有一个应用程序 用户可以按住按钮来拍摄视频 然而 当他们这样做时 带有视频播放的新图层不会立即出现 相反 有一个非常短的延迟 在用户松开按钮后 您可以看到相机仍然显示相机所看到的内容 延迟结束后 视频立即显示并开始播放 但是 我怎样才能使

随机推荐

  • android错误:删除片段时“提交已调用”

    我想实现一个有片段的活动 当我点击 Fragment1 时 Fragment2 被调用 当我点击 Fragment2 时 Fragment2 应该从屏幕上删除 我通过在 onCreateView 中调用 Fragment2 LinearLa
  • Visual Studio Team Services - 构建失败,定义错误?

    我从事一个项目已经有一段时间了 现在我想使用 Visual Studio Team Services 在本地 Visual Studio 中的构建不会给出错误 并且应用程序按预期工作 我已将此工作代码签入 VSTS 因此它位于存储库中并且可
  • 计数返回空白而不是 0

    今天是个好日子 这是我的代码 SELECT Expired Item DateName mm DATEADD MM 4 AE fld LOAN as Month COUNT PIT fld ID COUNT SUM PIT fld GRAM
  • Android 上的 kivy/Python 缺少 Unicode 编解码器?

    我有一个在 kivy 下运行的程序 它在 Windows 上运行良好 但在 Android 上打开文件失败 两个平台上都是 1 8 0 奇怪的是 当我明确要求 utf 8 时 错误消息表明它正在尝试解码 ASCII 而且该文件中的任何位置都
  • 如何解压和打包pkg文件?

    我有一个由 Install Maker for Mac 创建的 pkg 文件 我想替换 pkg 中的一个文件 但我必须在Linux系统下执行此操作 因为这是下载过程的一部分 当用户开始下载文件时 服务器必须替换 pkg 中的一个文件 我有一
  • 编译 gtkmm 时出现问题

    操作系统 Fedora 14 编译器 g GCC 4 5 1 20100924 红帽 4 5 1 4 我通过 yum 从存储库安装了 gtkmm24 devel 为了确保安装按计划进行 我决定尝试页面上的示例之一 include
  • Oracle 中的动态表分区

    我正在为我的应用程序构建一个数据库存储 该存储由一个具有巨大数据量 数亿条记录 的表组成 我计划在日期字段上建立索引 因为我将不时地对给定时间段内的所有记录进行批量恢复 例如 检索第二天的所有记录 午夜 由于记录数量巨大并且性能是该系统中的
  • 递归地 (?) 将 LINQ 谓词组合成单个谓词

    编辑 我问错了问题 real我遇到的问题已经结束将 LINQ to SQL 谓词组合成单个谓词 https stackoverflow com questions 3782940 compose linq to sql predicates
  • 在 OS X 上以 32 位模式使用 virtualenv 运行非系统 Python

    简短的问题使用 virtualenv virtualenvwrapper 是否可以添加前缀python调用链接到特定的虚拟环境 背景我想使用多个虚拟环境已安装酿造 https github com mxcl homebrewPython 2
  • 如何从 Kotlin DSL build.gradle 中的所有依赖项中排除库?

    我开始迁移build gradle 时髦 到build gradle kts Kotlin DSL 事情是这样的com google common util concurrent ListenableFuture from com goog
  • Netbeans:自动格式 - 防止变量赋值时出现空格格式

    我更喜欢这样的格式化作业 foo bar long foo bar 而不是这个 foo bar long foo bar 然而 Netbeans 在使用自动格式时使用后者 有人知道如何解决这个问题吗 这个问题已经发布三年了 但我认为它非常有
  • 电子邮件主题分隔符间距中的重音单词 - 如何阻止这种情况?

    我们有一个自定义的 php 电子邮件营销应用程序 还有一个有趣的问题 如果邮件的主题行包含带有重音符号的单词 则会 吞掉 该单词与下一个单词之间的空格 示例 短语 安赫尔 里奥斯 埃斯库查 索普伦德 显示 至少通过 gmail 和 Lotu
  • 数组和右值(作为参数)

    我想知道是否有任何方法可以区分以下代码中显示的函数调用 以数组作为参数 include
  • Python:遍历列表

    我有一个智力挑战谜题 我想用 python 来解决 他们给出了 4 个数字 25 28 38 35 他们希望我们将这些数字放在 一种可能的解决方案是 25 38 35 28 我尝试过 从数字中列出一个列表 用一些循环和 if 来迭代它们 l
  • 无法从我的学校网站获取我的日程安排数据。使用 cURL 登录不起作用

    Edit 为什么要负一呢 我想做的是 我正在尝试使用 cURL 登录我的学校网站并获取时间表以将其用于我的 AI 因此 我需要使用我的通行证和号码登录 但学校网站上的表格还需要一个隐藏的 令牌
  • 将多个 .sql 表转储文件合并到单个文件中

    假设我有数据库A和表b 给定多个 sql 文件 b1 b2 bn 其中每个文件对应于 b 的互斥表转储 我如何将所有文件 b1 b2 bn 合并到单个 sql 表文件中 或者我如何将各个文件的导入合并到一个表中 没有特殊的工具可以做到这一点
  • 循环遍历所有文件夹及其所有子文件夹VBA

    我知道这个问题之前被问过很多次 我已经检查了之前的建议 但我无法让我的代码运行 所以 我有一个名为 Report 的文件夹 其中也包含多个文件夹 这些文件夹包含 xlsx 和 zip 文件 每个文件还包含一个名为 2016 的文件夹 其下有
  • /www 之外的指定虚拟主机上的 Wampserver 403

    当我尝试在 c wamp www 目录之外创建虚拟主机时 Wampserver 告诉我访问被拒绝 我可以在该目录中制作一个罚款 即使对文件夹建立符号链接也可以 但我宁愿不必使用符号链接 为什么不起作用 这是我在 httpd conf 末尾使
  • Django 上多租户应用程序的最佳架构

    我一直在思考创建基于多租户应用程序的正确 最佳方法 关于姜戈 一些解释 应用程序可由多个租户 tenant1 tenant2 使用 所有租户个人数据都必须受到保护 防止其他租户 及其用户 访问 租户可以选择为应用程序对象创建额外的自定义字段
  • 计算数组数组中的项目数?

    如果我有一个声明为的对象 let compoundArray Array