从Ruby中删除数组中的重复元素
本文翻译自:Remove duplicate elements from array in Ruby
I have a Ruby array which contains duplicate elements. 我有一个包含重复元素的Ruby数组。
array = [1,2,2,1,4,4,5,6,7,8,5,6]
How can I remove all the duplicate elements from this array while retaining all unique elements without using for-loops and iteration? 如何在不使用for循环和迭代的情况下保留所有唯一元素的同时从此数组中删除所有重复元素?
#1楼
参考:https://stackoom.com/question/Z6Iz/从Ruby中删除数组中的重复元素
#2楼
If someone was looking for a way to remove all instances of repeated values, see this question . 如果有人正在寻找删除重复值的所有实例的方法,请参阅此问题 。
a = [1, 2, 2, 3]
counts = Hash.new(0)
a.each { |v| counts[v] += 1 }
p counts.select { |v, count| count == 1 }.keys # [1, 3]
#3楼
You can also return the intersection. 你也可以返回十字路口。
a = [1,1,2,3]
a & a
This will also delete duplicates. 这也将删除重复项。
#4楼
Just another alternative if anyone cares. 如果有人关心,只是另一种选择。
You can also use the to_set
method of an array which converts the Array into a Set and by definition, set elements are unique. 您还可以使用数组的to_set
方法将Array转换为Set,根据定义,set元素是唯一的。
[1,2,3,4,5,5,5,6].to_set => [1,2,3,4,5,6]
#5楼
Try with XOR Operator in Ruby: 尝试使用Ruby中的XOR运算符:
a = [3,2,3,2,3,5,6,7].sort!result = a.reject.with_index do |ele,index|res = (a[index+1] ^ ele)res == 0
endprint result
#6楼
array = array.uniq
The uniq method removes all duplicate elements and retains all unique elements in the array. uniq方法删除所有重复元素并保留数组中的所有唯一元素。
One of many beauties of Ruby language. Ruby语言的众多美女之一。
从Ruby中删除数组中的重复元素相关推荐
- php数组重复值销毁,如何从PHP中删除数组中的重复值
如何从PHP中删除数组中的重复值 如何从PHP中删除数组中的重复值? 21个解决方案 204 votes 使用array_unique(). 例: $array = array(1, 2, 2, 3) ...
- 如何从JavaScript中删除数组中的元素?
本文翻译自:How to remove element from an array in JavaScript? var arr = [1,2,3,5,6]; I want to remove the ...
- JS中删除数组中的元素
前言:主要记录一下数组在js中的使用问题. 一.基本操作 1.数组的创建 主要有两种方式: var arr1 = new Array(); var arr2 = [",",&quo ...
- java数组删除元素_java中删除 数组中的指定元素方法
java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子. java的api中,并没有提供删除数组中元素的方法.虽 ...
- c语言删除数组中的最小值,C语言中删除数组中某个元素的方法
C语言中删除数组中某个元素的方法 发布时间:2020-06-17 14:22:39 来源:亿速云 阅读:1964 作者:鸽子 C语言实现删除数组中某个元素 大家知道C语言实现删除数组中某个元素方法吗? ...
- Javascript中删除数组中重复出现的元素
今天在做到蓝桥云课中用js进行删除数组中重复出现的元素,自己进行了一点总结: 这里的删除相同元素与c++思想上不同. 在c++中我是通过先按大小排序后,再进行比对然后后往前赋值类似于整体移动前一位,长 ...
- 如何从值中删除数组中的项目?
有没有一种方法可以从JavaScript数组中删除项目? 给定一个数组: var ary = ['three', 'seven', 'eleven']; 我想做类似的事情: removeItem('s ...
- JS中删除数组中重复的元素
1.使用splice() splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容.此方法会改变原数组. 第一个参数表示要删除的位置(从0计数),第二个 ...
- js中删除数组中某一项的方法
1:js中的splice方法 splice(index,len,[item]) 注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 inde ...
最新文章
- FPGA技术的未来发展:谁与AI平分秋色
- Python实用小工具了解一下,总有一款是你需要的
- P2P之UDP穿透NAT的原理与实现(转)
- 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...
- exoplayer 纯java,Exoplayer不播放任何视频
- Use Visual Studio Code to create and run Transact-SQL scripts for SQL Server
- python_day9 异常处理
- android焦点优先级,Viewgroup焦点获取优先级android:descendantFocusability用法简析
- linux resin 自动启动不了,linux下开机启动nginx+resin
- 命令注入的一点学习记录
- Enable Cube
- 商场管理系统实战项目
- Halcon union_adjacent_contours_xld详解
- 关于多个Jenkins实例共享同一个工作目录的问题
- 单出口双防火墙双核心冗余_铁路无线网络基站冗余(4)LTER
- 如何通俗的理解函数的极限_(高等数学笔记)萌新也能理解的函数极限求法
- STM32寄存器操作端口模式CRL/CRH详解
- SF图像滤镜/美颜/美妆算法详解与实战
- 解决esp32同时使用wifi、蓝牙内存不足的情况(基于Arduino框架)
- 用QQ邮箱注册到MSN live 账号