如何比较两个数组对象 - Swift 4
How do I compare two array Objects - Swift 4
我有 2 个 [Any]
类型的数组 - 字典对象
其他数组包含其他对象集[Any]
(第二个数组对象包含在第一个数组中)
我需要找到第二个数组元素的第一个数组的索引
例如:-
let firstArray = [["key1":6],["key2":8],["key3":64],["key4":68],["key5":26],["key6":76]]
let secondArray = [["key3":64],["key6":68]]
如何找到 secondArray
个元素的 firstArray
索引
let index = firstArray.index{[=10=] == secondArray[0]};
print("this value ", index);
会打印 optional(2) ,基本上就是 2
首先,您从 secondArray
中取出 键 。然后,您尝试在 firstArray
中找到 key 的 index。请注意,如果密钥不存在,某些值可能为 nil。
let firstArray = [["key1":6],["key2":8],["key3":64],["key4":68],["key5":26],["key6":76]]
let secondArray = [["key3":64],["key6":68], ["key8": 100]]
let indexes = secondArray
.map({ [=10=].first?.key }) //map the values to the keys
.map({ secondKey -> Int? in
return firstArray.index(where:
{ [=10=].first?.key == secondKey } //compare the key from your secondArray to the ones in firstArray
)
})
print(indexes) //[Optional(2), Optional(5), nil]
我还添加了一个结果为零的示例。
我有 2 个 [Any]
类型的数组 - 字典对象
其他数组包含其他对象集[Any]
(第二个数组对象包含在第一个数组中)
我需要找到第二个数组元素的第一个数组的索引
例如:-
let firstArray = [["key1":6],["key2":8],["key3":64],["key4":68],["key5":26],["key6":76]]
let secondArray = [["key3":64],["key6":68]]
如何找到 secondArray
个元素的 firstArray
索引
let index = firstArray.index{[=10=] == secondArray[0]};
print("this value ", index);
会打印 optional(2) ,基本上就是 2
首先,您从 secondArray
中取出 键 。然后,您尝试在 firstArray
中找到 key 的 index。请注意,如果密钥不存在,某些值可能为 nil。
let firstArray = [["key1":6],["key2":8],["key3":64],["key4":68],["key5":26],["key6":76]]
let secondArray = [["key3":64],["key6":68], ["key8": 100]]
let indexes = secondArray
.map({ [=10=].first?.key }) //map the values to the keys
.map({ secondKey -> Int? in
return firstArray.index(where:
{ [=10=].first?.key == secondKey } //compare the key from your secondArray to the ones in firstArray
)
})
print(indexes) //[Optional(2), Optional(5), nil]
我还添加了一个结果为零的示例。