<分区>
我有一组从网上提取的各种颜色的字符串:
var colors = ["red", "green", "yellow", "blue", "purple"]
但它也可能是:
//this time less colors
var colors = ["yellow", "red", "purple"]
无论它们以何种方式进入,我都想对颜色数组进行排序并将它们添加到一个新数组中,我希望新数组具有以下顺序:
//the way I want the new array to have it's elements
["red", "purple", "pink", "yellow", "brown", "blue", "orange", "green"]
我试过:
var newArr:[String] = []
for color in colors{
if color == "red"{
newArr[0] = "red"
}
if color == "purple"{
newArr[1] = "purple"
}
if color == "pink"{
newArr[2] = "pink"
}
if color == "yellow"{
newArr[3] = "yellow"
}
if color == "brown"{
newArr[4] = "brown"
}
if color == "blue"{
newArr[5] = "blue"
}
if color == "orange"{
newArr[6] = "orange"
}
if color == "green"{
newArr[7] = "green"
}
}
我有一个异常(exception):
fatal error: Index out of range
我知道我在哪里犯了超出范围的错误,但我不知道如何让它按照我想要的顺序排列。
我如何遍历颜色数组并获取其中的任何元素并按照我想要的顺序将它们添加到新数组?