我从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.
答案 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”,“英语”,“篮球”