Сколько элементов в массиве?

Узнаем как посчитать количество элементов массива

Самый простой и распространенный способ определить количество элементов в массиве – это использование встроенного свойства 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 }