微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby收集独特的元素

我有一些哈希

a = [{name:"x",long:1.0,lat:2.0},{name:"y",long:2.0,lat:3.0},{name:"z",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之前反转数组来实现示例数据集.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐