gpt4 book ai didi

ios - Swift:像 Lua 一样快速从数组中删除元素

转载 作者:行者123 更新时间:2023-11-30 12:22:19 26 4
gpt4 key购买 nike

我有一个数组,其中包含很多元素。我想通过值而不是键删除元素。看来你必须这样做:

array = array.filter() { $0 !== value }

对于有 Lua 背景的我来说,这似乎有点等同于这个 Lua 代码:

for k,v in pairs(array) do
if v == value then table.remove(array, k) end
end

这是一个很慢的方法,Lua中更快的方法是将键设置为值:

array = {[value] = "something"}
array[value] = nil

Swift 中有类似的东西吗?在我看来,过滤器会检查每个元素,所以我觉得必须有一种更快的方法。如果使用字典会不会更好?

最佳答案

我认为过滤器是适合您的方法。您也可以通过 index 删除元素,但我仍然会使用 filter 方法:

过滤器:

array = array.filter() { $0 !== value }

按索引删除:

if let index = array.index(where: { $0 == value }) {
array.remove(at: index)
}

关于ios - Swift:像 Lua 一样快速从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44644544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com