Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Sort Array by Element Frequency by mortonfox
"use strict";
function frequencySort(items) {
const counts = items.reduce((c, v) => (c[v] = (c[v] || 0) + 1, c), {});
return items.sort((a, b) => counts[a] === counts[b] ? items.indexOf(a) - items.indexOf(b) : counts[b] - counts[a]);
}
// var assert = require('assert');
// if (!global.is_checking) {
// console.log('Example:');
// console.log(frequencySort([4, 6, 2, 2, 6, 4, 4, 4]));
// // These "asserts" are used for self-checking and not for an auto-testing
// assert.deepEqual(frequencySort([4, 6, 2, 2, 6, 4, 4, 4]), [4, 4, 4, 4, 6, 6, 2, 2]);
// assert.deepEqual(frequencySort(['bob', 'bob', 'carl', 'alex', 'bob']), ['bob', 'bob', 'bob', 'carl', 'alex']);
// assert.deepEqual(frequencySort([17, 99, 42]), [17, 99, 42]);
// assert.deepEqual(frequencySort([]), []);
// assert.deepEqual(frequencySort([1]), [1]);
// console.log("Coding complete? Click 'Check' to earn cool rewards!");
// }
April 23, 2020
Comments: