Swift字典组第一个元素为空

bmp9r5qi  于 2022-12-02  发布在  Swift
关注(0)|答案(1)|浏览(146)

我在playground中编写这个示例是为了

import UIKit

struct test{
    var id: Int
    var nsm: String
}
let datas = [test(id:1, nsm: "test1"), test(id:2,nsm: "test2"),test(id: 3, nsm: "test3")]
let dict = Dictionary(grouping: datas, by: { $0.id})

print(dict[0])

如果我输出“dict[0]”,我得到“nil”,但是如果我输出“dict[1]”,我得到第一个元素。为什么?

jpfvwuh4

jpfvwuh41#

您得到的是预期的正确答案。
dict[0]不是词典的“第一元素”,词典没有“第一元素”;它没有顺序。您正在通过 key 进行字典查找。dict[0]是原始数组datasid为0的所有元素的列表。没有这样的元素,因此字典中没有这样的项。
dict[1]id为1的datas的所有元素的列表。有一个这样的元素,即您看到的值。

相关问题