离线下载
获取电子书

极客学院团队出品 · 更新于 2018-04-22 12:00:46

删除数组中的相同元素

问题

你想从数组中删除相同元素。

解决方案

Array::unique = ->
  output = {}
  output[@[key]] = @[key] for key in [0...@length]
  value for key, value of output

[1,1,2,2,2,3,4,5,6,6,6,"a","a","b","d","b","c"].unique()
# => [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'd', 'c' ]

讨论

在 JavaScript 中有很多的独特方法来实现这一功能。这一次是基于“最快速的方法来查找数组的唯一元素”,出自这里

注意: 延长本机对象通常被认为是在 JavaScript 不好的做法,即便它在 Ruby 语言中相当普遍, (参考:Maintainable JavaScript: Don’t modify objects you don’t own

上一篇: 归纳数组 下一篇: 反转数组