假设我有这个数组:
let b = a.filter { $0 >= 0 } // [0, 2, 4, 6]
我最喜欢的数字是4(索引= 4)。
现在,数组被过滤为负数,如此
{{1}}
我最喜欢的数字(4)现在有索引= 2.
我的意思是我如何通过优雅的方式通过代码(我最喜欢的索引是2)了解它?
谢谢!
答案 0 :(得分:0)
计算“最喜欢”之前的元素数量不会被丢弃。这是你最喜欢的新索引:
let a = [0, -1, 2, -3, 4, -5, 6]
let aFavoriteIndex = 4
let b = a.filter({ $0 >= 0 })
let bFavoriteIndex = a.prefix(aFavoriteIndex).filter({ $0 >= 0 }).count
b[bFavoriteIndex] // 4
答案 1 :(得分:0)
只需保存该值,然后使用index(of:)
查找新索引
let v = a[4]
let newIndex = a.filter { $0 >= 0 }.index(of:v)