клонирую массив ([]+ push)
<...>
Есть ли способы проще
Конечно есть, не надо никакого
push
: делайте
arr.slice()
или
[...arr]
.
Т.е., ваш код должен будет выглядеть примерно так:
const result = arr
.slice()
.sort((a, b) => тут сравниваете элементы)
.slice(0, N);