Этот алгоритм считает кол-во вхождений элемента в массиве
var numbers = [2, 4, 4, 7, 6, 8, 4];
function howMany(array, value) {
var n = 0;
for (var i = 0; i < array.length; i++)
if (array[i] == value)
n++;
return n;
}
console.log(howMany(numbers, 3)); // -> 0
console.log(howMany(numbers, 4)); // -> 3
console.log(howMany(numbers, 5)); // -> 0
console.log(howMany(numbers, 6)); // -> 0
Должен ведь быть соответствующий метод для массива?
Можно прикрутить замыкание, чтобы сохранить результаты первого прохода по массиву и переиспользовать их.
function howMany(arr) {
const map = arr.reduce((c, item) => (c[item]=(c[item]||0) + 1, c), {});
return num => map[num];
}
const data = [1, 5, 4, 3, 4, 6, 4, 7, 1];
console.log(howMany(data)(4)); // 3
const howManyInData = howMany(data);
console.log(howManyInData(1), howManyInData(4)); // 2 3
const numbers = [2, 4, 4, 7, 6, 8, 4];
Array.prototype.howMany = function(value) {
return this.reduce((prev, curr) => {
return curr === value ? prev+1 : prev
}, 0);
}
console.log(numbers.howMany(3));
console.log(numbers.howMany(4));
console.log(numbers.howMany(5));
console.log(numbers.howMany(6));
ответ free_ze в комментариях решил рпоблему
array.filter(x => x === value).length
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
сейчас я разбираюсь с анимационными эффектами с помощью css и javascript и хочу реализовать алгоритм похожий на VueJs чтобы лучше понимать как это...
Подскажите скрипт аудиоплеера, который можно было бы использовать с минимальными изменениями в разметке - например, задать соответствующие...