Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,705 questions

55,464 answers

573 users

How to flatten a 2D array into a sorted one-dimensional array with unique values in Ruby

1 Answer

0 votes
# Function that flattens a 2D array, sorts it, removes duplicates,
# and returns a new sorted array with unique values
def flatten_sort_unique(array2d)

  # 1. Flatten the 2D array into a 1D array
  flat = array2d.flatten

  # 2. Sort the flattened array
  flat.sort!

  # 3. Remove duplicates using uniq
  unique = flat.uniq

  unique
end

array2d = [
  [4, 3, 3, 2, 4],
  [30, 10, 10],
  [10, 30],
  [1, 1, 6, 7, 7, 7, 8],
]

arr = flatten_sort_unique(array2d)

# Print results
arr.each do |n|
  print "#{n}\t"
end


=begin
run

1   2   3   4   6   7   8   10   30

=end

 



answered Jun 16 by avibootz

Related questions

...