首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二进制运算符'!=‘不能应用于两个’[[字符串]]‘操作数

二进制运算符'!=‘不能应用于两个’[[字符串]]‘操作数
EN

Stack Overflow用户
提问于 2017-03-22 10:21:22
回答 1查看 1.5K关注 0票数 0

我有一个数组,需要过滤掉其中一个特定的数组。但是,在使用以下代码时,我得到了“二进制运算符”!=‘不能应用于两个'[String]’操作数“的问题。

代码语言:javascript
复制
var arrayOfArrays = [[[String]]]()
var specificArray = [[String]]()

arrayOfArrays = arrayOfArrays.filter{$0 != specificArray}

我想这在半年前曾经起过作用.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-22 10:32:16

正如注释中提到的,Swift Arrays don't conform to Equatable所以[[T]] != [[T]]不能工作,因为它要求[T]是可等价物。您可以使用elementsEqual(_:by:),它允许使用自定义相等函数对元素进行比较,而不需要相等:

代码语言:javascript
复制
arrayOfArrays = arrayOfArrays.filter { !$0.elementsEqual(specificArray, by: ==) }

(注意:多亏了",一旦Swift 4发布,就不再需要这种解决办法了。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42948755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档