【问题标题】:How do I get rid of the repeats within the filtered array?如何摆脱过滤数组中的重复?
【发布时间】:2016-02-29 02:56:13
【问题描述】:

我正在尝试获取一周的数组,但取而代之的是月份而不是日期或日期,因此包括今天在内的一周将是 ["Feb", "Feb", "Mar", "Mar", "Mar", "Mar", "Mar"],但我只希望数组显示何时发生更改我希望它像["Feb","", "Mar", "", "", "", ""]

var month = [String]()//this includes the months for the whole week
var filterdmonth = ["", "", "", "", "", "", ""]
for(var s = 0; s < month.count; s++){
    if(month[s] != filterdmonth[0]){
        filterdmonth[s] = month[s]
        print(filterdmonth)
    }

}

这会打印出["Feb", "", "Mar","Mar","Mar","Mar","Mar",]

【问题讨论】:

  • 应该将它们放入Set,这样就不会有重复
  • 我该怎么做。我不知道如何使用集合
  • 取决于在数组中保留这样的空格的重要性,但集合只是另一种类型的数组,但不允许元素的重复条目。 var filteredMonth = Set&lt;String&gt;() 但你不能像最初设置那样包含多个空白
  • 我需要多个空格。

标签: ios arrays swift


【解决方案1】:

我不确定您的输入是什么,但如果 month["Feb", "Feb", "Mar", "Mar", "Mar", "Mar", "Mar"],那么我正在处理一些简单的事情。

let months = ["Feb", "Feb", "Mar", "Mar", "Mar", "Mar", "Mar"]
var workingMonth = ""

let filteredMonths = months.map { month -> String in
    let result = month != workingMonth ? month : ""

    if month != workingMonth {
        workingMonth = month // There is a new month, so update the working month.
    }

    return result
}

print(filteredMonths)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多