說我有一個元素...重新定位陣列
arr = ["a", "b", "c"]
...我想移動「A」「B」和「C」之間。 我目前做
arr.delete("a")
arr.insert(2, "a")
我可以做,在一個單一的操作?
感謝
說我有一個元素...重新定位陣列
arr = ["a", "b", "c"]
...我想移動「A」「B」和「C」之間。 我目前做
arr.delete("a")
arr.insert(2, "a")
我可以做,在一個單一的操作?
感謝
如果要移動 「一」 之間 「B」 和 「C」,那麼你應該做的:
arr.insert(1, arr.delete_at(0))
※使用.delete_at
代替.delete
因爲您的陣列中可能有多個'a'
。
arr = [ "a","b","c" ]
arr.shuffle! until arr[1] == 'a' && arr[0]=='b'
p arr #=> ["b", "a", "c"]
插入B之後,不管他們是在陣列中,其中:
arr.insert(arr.index("b"), arr.delete_at(arr.index("a")))
=> ["b", "a", "c"]
你也可以這樣做:
arr[arr.index("a")], arr[arr.index("b")] = "b","a"
您可以使用並行作業:
arr[0], arr[1] = arr[1], arr[0]
=> ["b", "a"]
arr
=> ["b", "a", "c"]
它必須在哪裏?爲什麼? – tokland 2013-04-23 12:55:39