arrays - Swift数组过滤后获取元素的新索引

标签 arrays swift

假设我有这个数组:

let a = [0, -1, 2, -3, 4, -5, 6]

我最喜欢的号码是 4(索引 = 4)。

现在数组被过滤为负数,如下所示

let b = a.filter { $0 >= 0 } // [0, 2, 4, 6]

我最喜欢的号码 (4) 现在索引 = 2。

我的意思是我如何通过代码(我最喜欢的索引现在是 2)通过优雅的方式知道它?

谢谢!

最佳答案

只需保存该值,然后使用 index(of:) 查找新索引

let v = a[4]
let newIndex = a.filter { $0 >= 0 }.index(of:v)

关于arrays - Swift数组过滤后获取元素的新索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50732545/

相关文章:

javascript - 在 Javascript 中编写分支代码的最有效方法

ios - 为什么这段代码每秒运行 1000 次时运行速度这么慢?

c - 如何编写一个程序来打印数组中的素数,该数组的索引也是素数

javascript - 将对象附加到 Javascript 数组

Swift:替换由多个定界符分隔的字符串中的数值

javascript - 将对象数组中具有相同对象属性的 JavaScript 对象属性值相加

Swift - 仅为其中一个案例扩展枚举

ios - 自定义 tabBar 的边框渐变

swift - [Card] 类型的不可变值仅具有名称追加的可变值

swift - 我什么时候以及为什么要在 Swift 中使用协议(protocol)?