当前位置: 首页 > 面试题库 >

如何检查元素是否在数组中

松景铄
2023-03-14
问题内容

在Swift中,如何检查数组中是否存在元素?Xcode没有针对contain,,include或的任何建议has,并且快速搜索本书不会发现任何结果。知道如何检查吗?我知道有一种方法find可以返回索引号,但是有没有一种方法可以返回像ruby一样的布尔值#include?

我需要的示例:

var elements = [1,2,3,4,5]
if elements.contains(5) {
  //do something
}

问题答案:

斯威夫特2、3、4、5:

let elements = [1, 2, 3, 4, 5]
if elements.contains(5) {
    print("yes")
}

contains()是(用于元素序列的) 协议扩展方法
,而不是早期版本中的全局方法。SequenceTypeEquatable

备注:

  • contains()方法要求序列元素采用Equatable协议。
  • 如果序列元素是NSObject子类的实例,则必须重写isEqual:
  • 还有另一种更通用的contains()方法,该方法不需要元素是等价的,并且需要谓词作为参数,例如。

Swift旧版本:

let elements = [1,2,3,4,5]
if contains(elements, 5) {
    println("yes")
}


 类似资料:
  • 在Swift中,如何检查数组中是否存在元素?Xcode没有关于、或的任何建议,并且在这本书中快速搜索没有任何结果。知道怎么查这个吗?我知道有一个方法返回索引号,但是有没有一个方法像Ruby的那样返回一个布尔值? 我需要的示例:

  • 问题内容: 示例:我正在检查是否存在像这样的数组元素: 但是,我不断收到此错误: 当然,我第一次想要实例时,$ instances不会知道密钥。我想我对可用实例的检查是错误的? 问题答案: 您可以使用语言构造或函数。 应该更快一些 (因为它不是函数) ,但是如果元素存在并且具有value,则将返回false 。 例如,考虑以下数组: 和这三个测试,依赖于: 第一个会得到您( 该元素存在,并且不为n

  • 问题内容: 我现在用来检查此功能的函数如下: 有用。我正在寻找的是是否有更好的方法来做到这一点。 问题答案: ECMAScript 2016 包含一种专门用于解决问题的数组方法,因此现在是首选方法。 _从2018年7月开始,如果您需要支持IE,则可以在polyfill中使用几乎所有 主流 浏览器。 编辑:请注意,如果数组中的项目是一个对象,则返回false。这是因为相似的对象是JavaScript

  • 问题内容: 我有一个看起来像元组的列表: 检查该元组中是否存在值的最佳方法是什么?例如,我想能够说: 并得到真 问题答案: 您正在寻找: 结合一个简单的生成器表达式,就可以完成任务。生成器表达式接受每个元组,如果包含则产生。然后在请求的第一个项目返回时返回(否则为)。因此,这就是您想要的。它也可以很好地读取- 如果有任何元组包含。 如果您要执行大量操作并且需要性能,那么可能值得设置所有值的集合以使

  • 问题内容: 我有一个数组,我需要检查该数组中是否存在元素,或者使用jq, fruit.json 从数组中获取该元素: 不起作用 问题答案: “包含”的语义一点都不简单。通常,最好使用“索引”来测试数组是否具有特定值,例如 IN / 1 如果您的jq有更好的解决方案,则使用它: 如果您的jq具有(与jq 1.5一样),那么这里是一个使用的快速定义:

  • 我试图找出如何接受2个整数参数,一个初始整数称为“start”,另一个整数称为“destination”。我想使用我的方法中的两个参数,首先检查起始整数是否在矩阵中,然后检查目标整数是否与它周围的4个元素(north,east,south,west)相邻。 例1: 如果起始整数是(6),则检查目的整数(7)是否与起始整数相邻。如果是真的,那就做点什么。