// написать функцию которая принимает массив значений и выводит массив уникальных элементов, отсортированных по частоте
const foo = (arr) => {
// Ваш код
};
console.log(foo([1, 1, 1, 2, 2, 2, 2, 4, 4, 5, 0])); // [2,1,4,5,0]**Ответ
const foo = (arr) => {
let res = [];
const newObj = arr.reduce((acc, el) => {
acc[el] ? acc[el]++ : (acc[el] = 1);
return acc;
}, {});
const sorted = Object.entries(newObj).sort((a, b) => b[1] - a[1]);
for (let i = 0; i < sorted.length; i++) {
res.push(Number(sorted[i][0]));
}
return res;
};
console.log(foo([1, 1, 1, 2, 2, 2, 2, 4, 4, 5, 0])); // [2,1,4,5,0]const newObj = arr.reduce((acc, el) => {
acc[el] ? acc[el]++ : (acc[el] = 1);
return acc;
}, {});
// Преобразование значения в виде
// {0: 1, 1: 3, 2: 4, 4: 2, 5: 1}const input = [1, 1, 1, 2, 2, 2, 2, 4, 4, 5, 0];
function sortBy(arr) {
let uniqueArr = [];
let obj = arr.reduce((acc, el) => {
acc[el] = (acc[el] || 0) + 1;
return acc;
}, {});
const sorted = Object.entries(obj).sort((a, b) => b[1] - a[1]);
for (let i = 0; i < sorted.length; i++) {
uniqueArr.push(Number(sorted[i][0]));
}
return uniqueArr;
}
console.log(sortBy(input));const foo = (arr) => {
if (typeof arr !== "object") {
throw new Error("Принимаемый параметр не является обьектом!");
}
const newArr = arr.reduce((acc, el) => {
acc[el] = (acc[el] || 0) + 1;
return acc;
}, {});
return Object.entries(newArr)
.sort((a, b) => b[1] - a[1])
.map(([sortedNumber, _]) => sortedNumber);
};
console.log(foo([1, 1, 1, 2, 2, 2, 2, 4, 4, 5, 0])); // [2,1,4,5,0]