我想将var中的字符串分成不同的var,并将key设置为true。例如
var x = [英文,中文,数学] =>“英文”:true“中文”:true “数学”:true
并推送到firebase以获得如下数据结构:
名称:匿名主题:{“英语”:true “中文”:true “数学”:true}
我该怎么办?
答案 0 :(得分:2)
您可以使用
var x = ["English", "Chinese", "Maths"]
var subject: [String: Bool] = [:]
x.forEach { string in
subject[string] = true
}
或
var subjectList = ["English", "Chinese", "Maths"]
var subject: [String: Bool] = [:]
subjectList.forEach {
subject[$0] = true
}
答案 1 :(得分:2)
您可以使用reduce(into:_:)方法枚举数组并创建字典
new CountDownTimer(30000, 1000){
public void onTick(long millisUntilFinished){
doUpdateOnEveryTick()
}
public void onFinish(){
doActionOnFinish()
}
}.start();
答案 2 :(得分:1)
您可以先从数组中删除重复项(或者,如果可以确定,则不执行此操作),将数组的每一项映射到以true
作为第二项的元组,然后使用Dictionary.init(uniqueKeysWithValues:)
:< / p>
let result = Dictionary(uniqueKeysWithValues: Set(a).map { ($0, true) })