【问题标题】:Swift: How to shift elements in an array by 1? [duplicate]Swift:如何将数组中的元素移动 1? [复制]
【发布时间】:2016-09-10 16:54:15
【问题描述】:

我有 6 种不同颜色的数组:

var colorList: [String] = ["blue", "green", "purple", "red", "yellow", "orange"]

我正在尝试创建一个函数,将每个元素向右移动一个,如下所示:

["orange", "blue", "green", "purple", "red", "yellow"]

我该怎么做?

【问题讨论】:

    标签: arrays swift


    【解决方案1】:
    colorList.insert(colorList.popLast()!, atIndex: 0)
    

    或作为数组的扩展

    extension Array {
        mutating func shiftRight() {
            if let obj = self.popLast(){
                self.insert(obj, atIndex: 0)
            }
        }
    }
    

    var colorList: [String] = ["blue", "green", "purple", "red", "yellow", "orange"]
    colorList.shiftRight()
    print(colorList)
    

    结果

    ["orange", "blue", "green", "purple", "red", "yellow"]
    

    【讨论】:

    • @downvoter:请解释为什么这个答案值得一票否决。
    • 不要回答重复的问题,您应该投反对票以避免发布其他重复的问题,我也撤销了我的投反对票
    • 当我回答时,它没有作为副本关闭——否则我将无法发布它。而且我不知道我有义务在回答之前搜索重复项。
    • 好的,但只是指出......没有冒犯
    • 我不关注元数据,所以这只是我的意见......我通常认为与问题相关的任何问题的答案都不应该被否决。
    猜你喜欢
    • 2021-02-26
    • 2017-04-21
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多