Swift:获取多个数组值,如“x”

时间:2016-02-07 20:38:46

标签: arrays swift

例如,我有一个像var myArray = ['player_static.png', 'player_run0.png', 'player_run1.png', 'player_run2.png', 'player_jump0.png', 'player_jump1.png']

这样的数组

有没有简单的方法只能获得“player_runX.png”图片?

2 个答案:

答案 0 :(得分:3)

您可以使用过滤器获取hasPrefix的所有元素(" player_run"):

let myArray = ["player_static.png", "player_run0.png", "player_run1.png", "player_run2.png", "player_jump0.png", "player_jump1.png"]

let playerRuns = myArray.filter{$0.hasPrefix("player_run")}
print(playerRuns)  //["player_run0.png", "player_run1.png", "player_run2.png"]

答案 1 :(得分:1)

执行此操作的一种方法是迭代数组并检索与模式匹配的元素。一个非常快速的样本将是这样的:

var myArray = ["player_static.png", "player_run0.png", "player_run1.png", "player_run2.png", "player_jump0.png", "player_jump1.png"]

func getSubArray(array:[String],prefix:String) -> [String]
{
    var newArray = [String]()
    for img in array
    {
        if img.substringToIndex(img.startIndex.advancedBy(prefix.characters.count)) == prefix
        {
            newArray.append(img)
        }
    }
    return newArray
}

var test = getSubArray(myArray, prefix: "player_run")