运维开发网

ruby收集独特的元素

运维开发网 https://www.qedev.com 2020-08-07 16:00 出处:网络 作者:运维开发网整理
我有一些哈希 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等于最后一个元素,其他单词我需要留下最后一个(在我的情况下:名字:“z”)hash w
我有一些哈希

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等于最后一个元素,其他单词我需要留下最后一个(在我的情况下:名字:“z”)hash with unique coords并使用相同的坐标删除所有以前的元素

尝试将Array#uniq与块一起使用:

a.uniq { |item| [item[:lat], item[:long]] }

块的返回值用作比较唯一性的值.

目前尚不清楚为什么要删除“x”而不是“z”,但是你可以通过在调用uniq之前反转数组来实现示例数据集.

0

精彩评论

暂无评论...
验证码 换一张
取 消