快速删除空数组

时间:2020-03-10 04:16:23

标签: arrays

我从csv文件中获得了这个数组:

data = [["Alexandra", "Female", "Club House", "CA", "English", "Drama Club"], ["Andrew", "Male", "Manager", "SD", "Math", "Lacrosse"], ["Anna", "Female", "Manager", "NC", "English", "Basketball"], ["Becky", "Female", "Gym & Fitness", "SD", "Art", "Baseball"], ["Benjamin", "Male", "Club House", "WI", "English", "Basketball"], ["Carl", "Male", "Life Guard", "MD", "Art", "Debate"],[""]]

我创建了一个数组来保存名称,并创建了一个数组来保存索引,如下所示:

for index in data {
            employee.append(index[0])
            PosEmployee.append(index[2])
        } 

当我运行它时,出现错误:致命错误:索引超出范围 我认为因为最后一个data数组是一个空数组,所以我对吗?

如何清除最后一个空数组? 我在viewDidLoad中尝试了这个,但这没用


self.data = Array.filter({$0 != ""})



Help needed.

2 个答案:

答案 0 :(得分:0)

你想要这个吗?

let flat = data.flatMap { $0 }.filter{ $0 != ""}

结果: [“ Alexandra”,“女性”,“俱乐部馆”,“ CA”,“英语”,“戏剧俱乐部”,“ Andrew”,“男性”,“经理”,“ SD”,“数学”,“曲棍球” ,“安娜”,“女”,“经理”,“ NC”,“英语”,“篮球”,“贝基”,“女”,“健身房与健身”,“ SD”,“艺术”,“棒球” ,“本杰明”,“男性”,“俱乐部之家”,“ WI”,“英语”,“篮球”,“卡尔”,“男性”,“救生员”,“ MD”,“艺术”,“辩论” ]

答案 1 :(得分:0)

那么你想要这个吗?

    let flat = [data.flatMap { $0 }.filter{  $0.count > 0  }]

结果:

[[[“ Alexandra”,“女性”,“俱乐部馆”,“ CA”,“英语”,“戏剧俱乐部”,“安德鲁”,“男性”,“经理”,“ SD”,“数学” ,“曲棍网兜球”,“安娜”,“女”,“经理”,“ NC”,“英语”,“篮球”

相关问题