我有一些哈希
a = [{name:"x", long:1.0, lat:2.0},
{name:"y", long:2.0, lat:3.0},
{name:"z", long:1.0, lat:2.0}]
如何删除{name:"x", long:1.0, lat:2.0}
,哪些coords等于最后一个元素,其他单词我需要留下最后一个(在我的情况下:用name:"z"
)哈希与唯一的coords并删除所有以前的元素COORDS
答案 0 :(得分:9)
尝试将Array#uniq
与块一起使用:
a.uniq { |item| [item[:lat], item[:long]] }
块的返回值用作比较唯一性的值。
不清楚你为什么要" x"要被删除而不是" z",但你可以通过在调用uniq
之前反转数组来实现示例数据集。