如何快速分隔变量并将键设置为true?

时间:2019-05-27 10:36:20

标签: ios swift

我想将var中的字符串分成不同的var,并将key设置为true。例如

  

var x = [英文,中文,数学] =>“英文”:true“中文”:true   “数学”:true

并推送到firebase以获得如下数据结构:

  

名称:匿名主题:{“英语”:true            “中文”:true            “数学”:true}

我该怎么办?

3 个答案:

答案 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) })