当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.uniq用法及代码示例


Array.uniq 方法

在本文中,我们将研究 Array.uniq 方法。你们一定认为该方法必须做一些与从 Array 实例中查找唯一元素或对象相关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法和演示程序代码来理解它。

方法说明:

该方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法的用法方式是返回一个新数组,该数组包含来自 self-Array 实例的所有唯一元素。如果您在调用时随方法一起提供块,则它将使用块的返回值进行比较。此方法不会对 self-Array 中对象的实际排列产生影响,因为此方法属于非破坏性方法类别,该方法所产生的更改是暂时的或非永久性的。

用法:

    array_instance.uniq -> Array or nil
    or
    array_instance.uniq{|item ...| block}-> new_array

所需参数:

此方法不接受任何参数。相反,如果您想根据特定条件查找唯一对象,则必须传递一个块。

范例1:

=begin
  Ruby program to demonstrate uniq method
=end

# array declaration
table = ["Subha","Sham","Sham","Vivek","Me","Amisha","Zain","Subha","Vivek"]

puts "Array uniq implementation"
new_arr = table.uniq

puts "Array after finding unique:#{new_arr}"
puts "Original Array instance:#{table}"

输出

Array uniq implementation
Array after finding unique:["Subha", "Sham", "Vivek", "Me", "Amisha", "Zain"]
Original Array instance:["Subha", "Sham", "Sham", "Vivek", "Me", "Amisha", "Zain", "Subha", "Vivek"]

说明:

在上面的代码中,您可以观察到我们在 Array.uniq 方法的帮助下在 Array 实例中查找唯一元素。在新数组中,我们拥有在 self 数组中唯一的所有对象。此方法不会对原始 Array 实例产生影响,因为此方法是非破坏性方法的示例之一。

范例2:

=begin
  Ruby program to demonstrate uniq method
=end

# array declaration
table = ["Subha","Sham","Sham","Vivek","Me","Amisha","Zain","Subha","Vivek"]

puts "Array uniq implementation"
new_arr = table.uniq

puts "Array after finding unique:#{new_arr}"
puts "Original Array instance:#{table}"

输出

Array uniq implementation
Array after finding unique:[["Subha", "Sham"], ["din", "dopher"]]
Original Array instance:[["Subha", "Sham"], ["Subha", "Raat"], ["din", "dopher"]]

说明:

在上面的输出中,您可以注意到我们正在使用块调用 Array.uniq 方法。我们的 self Array 是一个多维数组,包含三个子数组。虽然这三个Array都是唯一的,但是方法已经对所有三个Array实例的第一个对象的基础进行了比较。此方法不会对原始 Array 实例产生影响,因为此方法是非破坏性方法的示例之一。



相关用法


注:本文由纯净天空筛选整理自 Array.uniq Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。