Arrays Swift数组过滤后获取元素的新索引
假设我有这个数组:Arrays Swift数组过滤后获取元素的新索引,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)知道它 谢谢大家! 计算“收藏夹”前面有多少元素未被丢弃。这是您最喜欢的新索引: let a = [0, -1, 2, -3, 4, -5, 6]
let a = [0, -1, 2, -3, 4, -5, 6]
我最喜欢的数字是4(索引=4)
现在数组被过滤成负数,如下所示
let b = a.filter { $0 >= 0 } // [0, 2, 4, 6]
我最喜欢的数字(4)现在的索引为2
我的意思是,我如何通过优雅的方式通过代码(我现在最喜欢的索引是2)知道它
谢谢大家! 计算“收藏夹”前面有多少元素未被丢弃。这是您最喜欢的新索引:
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
只需保存该值,然后使用
索引(of:)
查找新索引
let v = a[4]
let newIndex = a.filter { $0 >= 0 }.index(of:v)
您是否知道存在
索引(of:)
?这还不够优雅吗?@Sweeper此api要求元素为EqualTableHi,此api要求元素为EqualTable