У меня есть массив, для которого я хочу получить наиболее встречающиеся элементы,
Первый сценарий
let arr1 = ['foo', 'foo', 'foo', 'bar', 'bar', 'bar', 'baz', 'baz']
let newArr = someFunc(arr1)
, поэтому в этом случае я хочу, чтобы новый массивимеют значение
console.log(newArr) // ['foo', 'bar']
Поскольку значения 'foo' и 'bar' были наиболее часто встречающимися элементами массива
Второй сценарий
let arr2 = ['foo', 'foo', 'foo', 'bar', 'baz']
let newArr = someFunc(arr2)
поэтому в этом случае я хочу, чтобы новый массив имел значение
console.log(newArr) // ['foo']
Поскольку значение 'foo' было самым встречающимся элементом массива
Это то, что у меня естьпопробовал, и он получит только один из элементов, даже если есть несколько элементов, которые встречаются одинаковое количество раз
newArr= arr.sort((a,b) =>
arr.filter(v => v===a).length
- arr.filter(v => v===b).length
).pop()