當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。