紅寶石1.8.6刪除Ruby數組中的相鄰元素?
我有一個包含數值的數組。我想要減少它,以便將相同值的序列簡化爲該值的單個實例。
所以我想
a = [1, 1, 1, 2, 2, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3]
,以減少
[1, 2, 3, 2, 3]
正如你所看到的,Array#uniq
不會在這種情況下工作。
我有以下的,其工作原理:
(a.size - 1).downto(1) { |i| a[i] = nil if a[i - 1] == a[i] }
任何人都可以拿出更少的醜陋的東西嗎?
我剛試過這個 - 非常好。謝謝! – 2010-03-25 16:31:54
你不需要x.first,你可以簡單地說。地圖(&:first) – Darkmouse 2014-11-06 03:20:53
@DarkMouse實際上你在1.8.6中實現了:-)。這與4年前相關,但今天並不多。我已經更新了我的回答 – 2014-11-06 16:20:36