Size: a a a

2021 November 03

AV

Aleksandr Victorovic... in JS
Спасибо !
источник

YK

Yury Khmarin in JS
надо много курсов пересмотреть, писать код, по каждому курсу делать аналогичный проект )))
источник

DS

Dmitri Solunski in JS
доброго времени суток ! Ребята подскажите как решить задачу:
Дан числовой массив [1,2,3,4,4,5,5,6,6]. Необходимо его отсортировать на  одинаковое количество элементов в соответствии с числовыми значениями (в порядке убывания) ,  после сортировки массив должен иметь вид  [3,2,1,6,6,5,5,4,4]
источник

aa

andre alan in JS
Так в чем проблема?
источник

DS

Dmitri Solunski in JS
не знаю как отсортировать повторяющиеся числа по убыванию. максиму что у меня получается  [6,6,5,5,4,4,3,2,1]
источник

YK

Yury Khmarin in JS
какая-то странная сортировка пздц)
источник

aa

andre alan in JS
Ну пересортируйте как надо
источник

DS

Dmitri Solunski in JS
немного есть))  здесь нужно отсортировать  не повторяющиеся в одну сторону, повторяющиеся в другую, и в итоге все числа сделать по убыванию
источник

DS

Dmitri Solunski in JS
а как надо?))  если бы я знал))
источник

YK

Yury Khmarin in JS
я бы наговонокодил следующим образом:
1. Создал Set отдельный.
2. По каждому ключу прошёлся и проаннализировал сначала все ключи которые в массиве повторяются 1 раз, их бы добавил в новый массив по убыванию
3. Потом проаннализировал 2 и тоже их бы добавил по убыванию
4. И так вплоть до длины исходного массива. Заговнокодить можно отлично)
источник

aa

andre alan in JS
Ну типа того
источник

DS

Dmitri Solunski in JS
Set не годится, в итоги мы получим массив с уникальными значениями))
источник

YK

Yury Khmarin in JS
ты немного не понял, я бы этот Сет с уникальными значениями перебирал бы, чтобы найти количество повторений в исходном массиве
источник

DS

Dmitri Solunski in JS
ну это другое дело
источник

YK

Yury Khmarin in JS
тебе задача лаконичный код составить или гавнокод?)
источник

DS

Dmitri Solunski in JS
кстати , уже есть решение, только , его тоже нужно решить))
источник

DS

Dmitri Solunski in JS
arr.sort((a,b)=>{
   let countA = arr.filter(v=>v===a).length
   let countB = arr.filter(v=>v===b).length
   
   
   if (countA===countB){ return b-a}
   else if (countA>countB) {return 1}
   else { return -1}
   })
источник

DS

Dmitri Solunski in JS
помогите теперь разобраться с решением))
источник

YK

Yury Khmarin in JS
вот это лаконичное решение использует декларативный подход. Я же предлагал императивный (он считается не очень) . Если сорт возвращает 1 значит число больше, если -1 то меньше или типа того.) на основе этого происходит сортировка
источник

DS

Dmitri Solunski in JS
я не понимаю какую роль здесь выполнzет filter, все остальное понятно
источник