如何快速计算数组中的特定项目

2023-12-10

假设我有下面任何对象的数组,我正在寻找一种方法来计算数组中的项目,如下所示:

var OSes = ["iOS", "Android", "Android","Android","Windows Phone", 25]

有没有一种快捷方式可以让 swift 做下面这样的事情?

Oses.count["Android"]   // 3 

一种快速、紧凑且优雅的方法是使用reduce method:

let count = OSes.reduce(0) { $1 == "Android" ? $0 + 1 : $0 }

它比一个更紧凑for循环,并且比filter,因为它不会生成新数组。

The reduce方法采用一个初始值(在我们的例子中为 0)和一个应用于数组的每个元素的闭包。

闭包有 2 个参数:

  • 上一次迭代的值(或初始值,在我们的例子中为 0)
  • 当前迭代的数组元素

闭包返回的值用作下一次迭代的第一个参数,或者作为reduce处理完最后一个元素时的方法

闭包只是检查当前元素是否是Android:

  • 如果不是,则返回聚合值(传递给闭包的第一个参数)
  • 如果是,则返回该数字加一
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何快速计算数组中的特定项目 的相关文章

  • swift 中的 UITableViewCell 动画

    我正在关注THIS http jamesonquave com blog developing ios 8 apps using swift animations audio and custom table view cells 教程并使
  • 在.NET中,Array仅扩展了IEnumerable,那么foreach循环遍历值类型数组时会出现装箱和拆箱吗?

    Array只是扩展了IEnumerable的非泛型版本 那么foreach循环遍历值类型数组时会不会出现装箱和拆箱呢 我猜不会 因为那会很蹩脚 如果我的猜测是正确的 那么 foreach 是如何遍历值类型数组的呢 它不使用Array Get
  • 读入集合并检索前 5 个

    我最近在一次采访中被问到这个问题 从实时源中读取股票行情和交易量的应用程序 例如 AAPL 1000 TWTR 500 MSFT 500 AAPL 500 因此 AAPL 总交易量 1500 等等 我必须将它们读入集合中 并按数量返回前 5
  • PHP 数组比较

    如何比较两个数组 例如我有array a b c and array a c b 当它们进行比较时 它会返回 true 但如果其中一个字母没有在其中之一中找到 它将返回 false 顺序并不重要 在比较之前 您需要将两个数组的内容调整为相同
  • 为什么 Option 不可遍历?

    有没有什么合理性Option不存在Traversable 在 Scala 2 9 中 Seq Set 1 3 2 Seq 4 Option 5 flatten不编译并简单地让它实现Traversable对我来说 这个特质很合理 如果不是这样
  • 如何检查 PHP 数组是关联数组还是顺序数组?

    PHP 将所有数组视为关联数组 因此没有任何内置函数 任何人都可以推荐一种相当有效的方法来检查数组是否 是一个列表 只包含从0开始的数字键 基本上 我希望能够区分这一点 sequentialArray apple orange tomato
  • iOS12 导致 Metal Command Buffer 执行错误,渲染出现故障或不发生

    我们有一个应用程序使用Metal渲染 此应用程序可以在运行 iOS11 的设备上正常运行 当在运行 iOS12 的设备上使用相同的应用程序时 我们开始遇到故障 有时会在渲染中挂起 我们还尝试针对 iOS12 重新编译 但也遇到了同样的不良行
  • 如何使用 preg_match 在数组中搜索?

    如何使用 preg match 在数组中搜索 Example 在这篇文章中 我将为您提供三种不同的方法来完成您的要求 我实际上建议使用最后一个片段 因为它最容易理解并且代码非常简洁 如何查看数组中哪些元素与我的正则表达式匹配 有一个函数专门
  • 检测 WKWebView 何时完成加载

    我怎样才能检测到我的WKWebView是否已完成加载 以便我可以从中获取 URL 例如使用委托方法 我实现了委托方法WKWebView但我无法检测到视频何时完成加载 import UIKit import WebKit class View
  • Swift - 创建“Array”类型的自定义类

    如何在 swift 中创建一个类型的自定义类Array 确切地说 我有一个自定义类型类Car 现在我想创建一个单例 它是一个数组Cars 因为我希望能够从我的应用程序中的任何位置访问它 我的解决方法是将我的单例定义为NSMutableArr
  • 我应该使用 Base64 编码还是 byte[] 在 .NET Web 服务中返回二进制数据

    我有一个简单的问题 通过 NET 中的 Web 服务公开二进制数据时 我应该返回字节数组还是简单地对二进制数据进行 base64 编码 这两种方法都有优点 缺点吗 主要受支持等 使用字节数组 通过 SOAP 协议 该字节数组将自动使用 ba
  • 字符串和数组泛型方法将来将被弃用

    在下面的链接 MDN 站点 中 它显示 字符串泛型是非标准的 已弃用 将来可能会被删除 请注意 如果不使用下面提供的填充程序 则不能跨浏览器依赖它们 他们所指的方法是否是他们在此声明下方提供的垫片中列出的方法 这是我见过的唯一对 字符串泛型
  • 将数组项合并到字符串中[重复]

    这个问题在这里已经有答案了 如何将所有数组项合并为一个字符串 Use the implode功能 http php net manual en function implode php 例如 fruits array apples pear
  • 实体框架 - 将枚举的 ICollection 保存在数据库中

    我有一个具有 type 属性的类ICollection
  • 获取Java InputStream后面的文件的字节数

    正如标题所示 我需要知道文件在输入流 后面 有多少字节 我不想下载所有字节和计数 需要很长时间 我只需要知道文件有多少字节 像这样 int numberOfBytes countBytes inputStream 所以 我需要 countB
  • 为什么我们不能将新字符串分配给 char 数组,而是分配给指针?

    我试图将字符串重新分配给预初始化的数组 a 但我得到的只是一个错误 main char a Sunstroke char b Coldwave a Coldwave b Sunstroke printf n s s a b 错误 从类型 c
  • MacOS 上的 SwiftUI 点击行为

    在 MacOS 上的 SwiftUI 应用程序中 我在Line查看内部List 预期的行为是 单击 双击 记录按下中的特殊元素Line 在示例中Text X 触发动作 单击中的其他任意位置Line选择中的元素List 双击其他任意位置Lin
  • 如果用户应答传入的 iMessage,WKWebView 会崩溃

    我的应用程序发生严重崩溃 CALayer position contains NaN 377 833 nan 具有以下堆栈 Fatal Exception CALayerInvalidGeometry 0 CoreFoundation 0x
  • NSCollectionView 自定义布局启用滚动

    我无法垂直和水平滚动来使用自定义布局NSCollectionView 根据文档 在我的子类中我返回collectionViewContentSize如果太大 则会在集合视图的封闭滚动视图中自动启用滚动 但是 即使我将所有元素排列在水平行中
  • WKScriptMessageHandler 不会侦听网页上按钮元素上的“onclick”或“click”事件。网页是使用Reactjs开发的

    我正在使用一个WKWebView在 UIViewController 的视图中使用 url 端点显示托管在服务器上的网页 该网页使用Reactjs 这就是我所掌握的有关该网页的所有信息 该代码创建一个 Web 视图并将该 Web 视图作为控

随机推荐

  • 如何在Google App Engine中导入Google Cloud语音识别(python)

    我想在我的 Google App Engine python 应用程序上使用 google cloud 库 自从我在本地安装了这个库以来 我的所有测试都在我的本地工作 我原以为 GAE 默认支持它 但它是不支持 这是我得到的错误 from
  • 如何使用 Selenium RC 来验证我们的服务器端重定向(301、302)?

    我们的 Apache 配置中有很多重定向 我想用 Selenium 自动测试重定向 这导致我遇到了一些问题 调用 URL 但在重定向页面上断言 重定向后检查浏览器的URL 检查响应标头 以确定重定向类型 301 302 也许 Seleniu
  • 如何从一个类运行多个控制台?

    我有三个课程 它们都有不同的作品 但我需要一起运行它们 当我在一个类中运行所有这些时 我只得到一个控制台 并且无法更改此控制台 我想要的是在一个类中运行它们并查看每个控制台 我怎样才能做到这一点 更清楚地说 when I run first
  • 类型擦除的通用包装器是如何实现的?

    我需要为我自己的结构实现一个类型擦除包装器 非常类似于SequenceOf GeneratorOf等等 所以我开始尝试重新实现标准SequenceOf myself 我刚刚复制并粘贴了声明SequenceOf 将其重命名为MySequenc
  • 无法访问 Android 中的传感器

    我正在编写一个指南针应用程序 但由于某种原因无法访问所需的传感器 我已经实施了SensorEventListener以这种方式连接并注册我的传感器 sensorManager SensorManager getSystemService C
  • 为什么枚举已安装的 MSI 包如此慢?

    这是此的后续question 我使用这个稍微修改过的脚本来枚举所有已安装的 MSI 包 strComputer Set objWMIService GetObject winmgmts impersonationLevel imperson
  • 比较 2 个 CSV 文件并写下所有差异

    我有 3 个包含用户信息的 CSV 文件 CSV1 是所有非活动用户的 主 列表 CSV2 是需要停用的当前用户列表 CSV3 是需要激活的用户列表 我想要的是有一个可以从另一个脚本 创建 CSV2 3 的脚本 调用的 PowerShell
  • 在 C# 的类构造函数中调用异步方法[重复]

    这个问题在这里已经有答案了 目前我正在使用 C 开发一个通用应用程序 在应用程序中 我使用 sqlite 作为数据库 正如您现在可能的那样 它具有异步方法 我有一个带有一些 null 属性的类 我将使用从数据库获取的数据来填充它们 但它应该
  • 如何使用phonegap/jQueryMobile从OpenCart获取JSON格式的产品

    无论如何 是否可以使用 Ajax JavaScript jQuery 从我的 OpenCart 商店中从 PhoneGap 移动应用程序获取 JSON 格式的产品目录 OpenCart 允许这样的事情吗 欢迎任何想法或代码 OcJoy 进展
  • 使用 Json 数据改造 POST 方法收到错误代码 400:错误请求

    我想使用 JSON 数据 提供 JSON 作为 JsonObject 在 Retrofit 中调用 POST 方法 Magento REST API 为此 我按照邮递员的要求拨打电话 对我来说工作得很好 我已经完成了 android 部分如
  • 重写我的分数文本文件以确保它只有最后 4 个分数 (python)

    以前 在 SO 用户的帮助下 我已经能够找到如何使用字典中的 maxlength 属性在 Python 文档中存储最多 4 个键 现在 我想走得更远 下面是一个包含所有内容的文本文件recent我的参与者 戴夫 杰克和亚当 Jack 10
  • 检索插入行的索引

    我试图使我正在处理的项目的数据库表保持良好和规范化 但我遇到了问题 我试图弄清楚如何在表中插入一行 然后找出 auto incremented 的值id列设置为以便我可以将附加数据插入到另一个表中 我知道有这样的功能mysql insert
  • 通常是什么导致haskell中出现“错误C堆栈溢出”

    Hugs Haskell 实现中 错误 C 堆栈溢出 的常见原因是什么 如果您习惯于通常进行尾递归分解的函数式语言 则可能会出现这种情况 假设你有一个函数 sum go 0 where go accum accum go accum x x
  • ListView 中显示的 YouTube 播放列表

    我有一个GDATA我想在我的应用程序中使用的链接 此链接包含一个播放列表 我希望该播放列表显示在ListView 然后 用户将选择他 她想要的视频 然后就可以使用本地 Youtube 应用程序在应用程序中播放该视频 请给我指出一个直观的教程
  • 仅更改应用程序中一个 UIViewController 的 UIInterfaceOrientation

    我有一个 iPhone 应用程序 其结构类似于 带表的导航控制器 gt 带表的下一个视图控制器 gt QLPreviewController 通过点击第一个视图控制器 带有导航控制器 中的表格单元格 会出现带有另一个表格的新视图控制器 点击
  • Selenium 测试工作时如何工作

    当我编写自动化测试并运行它们 在我的 PC 上 时 在测试完成之前我无法工作 因为例如 如果我正在编码 焦点将从 Visual Studio 跳出 转到在 Web 浏览器中查看的测试中的 Web 应用程序 有没有办法防止 Selenium
  • Django 使用 Nginx 提供静态内容

    我正在尝试配置 nginx 以在远程 VPS 上为我的 django 项目提供静态内容 我的 nginx 实例使用以下配置 server server name myVPSip access log off location static
  • x64 Linux 中单进程最大可能内存

    x64 Linux 中单个进程有内存限制吗 我们正在运行一个具有 32Gb RAM 的 Linux 服务器 我想知道是否可以将大部分 RAM 分配给我正在编码的单个进程 该进程需要大量 RAM 某些内核有不同的限制 但在任何现代 64 位
  • 谷歌应用程序引擎请求日志细分

    以下是管理控制台日志部分中的一个 python appengine 应用程序的示例行 已过滤为 仅请求 01 22 07 19PM 55 483 zone 5 200 82ms 161cpu ms 115api cpu ms 0kb Moz
  • 如何快速计算数组中的特定项目

    假设我有下面任何对象的数组 我正在寻找一种方法来计算数组中的项目 如下所示 var OSes iOS Android Android Android Windows Phone 25 有没有一种快捷方式可以让 swift 做下面这样的事情