Самый простой и распространенный способ определить количество элементов в массиве – это использование встроенного свойства length. Это свойство возвращает количество элементов в массиве.
const array = [1, 2, 3, 4, 5];
console.log(array.length); // Выведет 5
Даже если массив содержит пустые или пропущенные элементы, свойство length все равно будет учитывать их:
const arrayWithEmpty = [1, , 3, , 5];
console.log(arrayWithEmpty.length); // Выведет 5
Если вам нужно узнать количество только непустых элементов, вы можете использовать метод filter() для создания нового массива с заполненными значениями и затем определить его длину.
const arrayWithEmpty = [1, , 3, , 5];
const filteredArray = arrayWithEmpty.filter(element => element !== undefined);
console.log(filteredArray.length); // Выведет 3
Здесь метод filter() удаляет все значения undefined, и затем length возвращает количество непустых элементов.
Подсчет уникальных элементов массива
Если вам нужно узнать количество уникальных элементов в массиве, можно воспользоваться объектом Set, который автоматически удаляет дубликаты:
const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
const uniqueElements = new Set(arrayWithDuplicates);
console.log(uniqueElements.size); // Выведет 5
Здесь объект Set преобразует массив, убирая дубликаты, а свойство size возвращает количество уникальных элементов.
Подсчет одинаковых элементов в массиве
Если вам нужно посчитать количество вхождений только определенного элемента, можно использовать комбинацию методов filter() и length.
const array = [1, 2, 2, 3, 3, 3, 4, 5, 5];
const targetValue = 3;
const count = array.filter(value => value === targetValue).length;
console.log(count); // Выведет 3
Здесь мы фильтруем массив, оставляя только элементы, которые равны значению targetValue, и затем считаем количество таких элементов.
Чтобы посчитать количество всех одинаковых элементов в массиве, можно использовать метод reduce() для создания объекта acc (аккумулятора), в котором будет подсчитываться количество каждого элемента массива.
const array = [1, 2, 2, 3, 3, 3, 4, 5, 5];
const countOccurrences = array.reduce((acc, value) => {
acc[value] = (acc[value] || 0) + 1;
return acc;
}, {});
console.log(countOccurrences);
// Выведет: { '1': 1, '2': 2, '3': 3, '4': 1, '5': 2 }