Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function maxRepeat(str, countElements = 2) {      
  2.     const arr = str.split(',');
  3.     const unique = {};
  4.  
  5.     // получаем уникальыне элементы и их количество
  6.     arr.forEach(element => {
  7.         if (unique[element]) {
  8.             unique[element] += 1;
  9.         } else {
  10.             unique[element] = 1;
  11.         }
  12.     });
  13.    
  14.     // проверяем длину массива уникальных элементов
  15.     // и уменьшаем количество элементов для вывода при необходимости
  16.     const uniqueLength = Object.keys(unique).length;
  17.     const printLength = countElements > uniqueLength
  18.         ? uniqueLength
  19.         : countElements;
  20.  
  21.     // создаем массив обьектов из обьекта с уникальными элементами
  22.     // после сортируем его по количеству повторений
  23.     const objectArray = Object.keys(unique)
  24.         .map(item => ({
  25.             element: item,
  26.             repeats: unique[item],
  27.         }))
  28.         .sort((a, b) => a.repeats -  b.repeats)
  29.  
  30.  
  31.     // выводим результат
  32.     console.log('------------');
  33.     for (let i = 0; i < printLength; i++) {
  34.         console.log(`Элемент: ${objectArray[i].element}, количество повторений: ${objectArray[i].repeats}`)
  35.     }
  36. }
  37. maxRepeat('8,8,5,5,5,4,4,4,4,4,44,8,8,8,8,8,8,8,8,88,8,4');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement