Skip to content

Instantly share code, notes, and snippets.

@ikzekly
Created September 23, 2019 14:00
Show Gist options
  • Save ikzekly/fa94abd778dc99e5dd6b09a54b8eadab to your computer and use it in GitHub Desktop.
Save ikzekly/fa94abd778dc99e5dd6b09a54b8eadab to your computer and use it in GitHub Desktop.
Sorting array by sequences and alphabetically
sequence1 = %w[d c b]
sequence2 = %w[e a f]
base = %w[z a c d f y b]
def sort_by_sequence(sequence:)
array = yield
array.select { |el| sequence.include?(el) }.sort do |left, right|
sequence.index(left) <=> sequence.index(right)
end | sort_by_alfabet { array }
end
def sort_by_alfabet
yield.sort {|left, right| left <=> right }
end
sort_by_sequence(sequence: sequence1) {
sort_by_sequence(sequence: sequence1) {
base
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment