gpt4 book ai didi

swift - 对一个字符串数组进行排序以匹配另一个

转载 作者:行者123 更新时间:2023-11-28 09:54:00 25 4
gpt4 key购买 nike

对一个数组进行排序以匹配另一个数组的最干净的方法是什么:

例子:

public class Account {

public var identifier: String

init(id identifier:String) {
self.identifier = identifier
}

}


let knownOrder = ["abc", "klm", "def", "hij"]

var givenOrder = [Account(id: "abc"), Account(id: "def"), Account(id: "hij"), Account(id: "klm")]

在不改变 knownOrder 的情况下,使 givenOrder 的输出匹配 knownOrder 的最简单方法是什么?

在示例中添加了更多内容。我正在尝试获取具有标识符属性的给定帐户对象列表,使其与存储的字符串列表的顺序相同,这些字符串匹配用户偏好以拥有他们的帐户

最佳答案

你需要这样的东西吗?

let knownOrder = ["a1", "b2", "c3", "d4"]
var givenOrder = ["c3", "a1", "d4", "b2"]

givenOrder.sort { (lhs, rhs) -> Bool in
(knownOrder.index(of: lhs) ?? 0) < (knownOrder.index(of: rhs) ?? 0)
}

?? 0 如果 givenOrder 包含不在 knownOrder 中的值,则这些值将在列表的开头未排序。

关于swift - 对一个字符串数组进行排序以匹配另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155692/

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