JavaScript Fundamentals

Мастерство подсчёта в JavaScript

Spread the love

Простое увеличение/уменьшение

Самый основной метод подсчета включает увеличение или уменьшение переменной с помощью операторов ++ и --. Это идеально подходит для простых счетчиков внутри циклов или функций.


let count = 0;
count++;  // count теперь равен 1
count += 5; // count теперь равен 6
count--;  // count теперь равен 5
console.log(count); // Выведет 5
  

Подсчет вхождений в массиве

Для подсчета вхождений конкретного элемента в массиве можно использовать циклы или более эффективные методы работы с массивами.

Использование цикла


const array = [1, 2, 2, 3, 2, 4, 5, 1];
const elementToCount = 2;
let count = 0;
for (let i = 0; i < array.length; i++) {
  if (array[i] === elementToCount) {
    count++;
  }
}
console.log(`Число ${elementToCount} встречается ${count} раз.`);
  

Использование reduce()


const count2 = array.reduce((acc, curr) => curr === elementToCount ? acc + 1 : acc, 0);
console.log(`Число ${elementToCount} встречается ${count2} раз.`);
  

Подсчет с помощью map(), reduce() и filter()

В более сложных сценариях сочетание map(), reduce() и filter() предоставляет мощные возможности подсчета.


const numbers = [1, 2, 3, 4, 5, 6];
// Подсчет четных чисел
const evenCount = numbers.filter(num => num % 2 === 0).length;
console.log("Четные числа:", evenCount); // Вывод: 3

// Сумма всех чисел
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log("Сумма:",sum); // Вывод: 21

// Квадраты всех чисел
const squaredNumbers = numbers.map(num => num * num);
console.log("Квадраты чисел:", squaredNumbers); // Вывод: [1, 4, 9, 16, 25, 36]

Подсчет с помощью объектов

Объекты очень эффективны для подсчета вхождений различных элементов, особенно нечисловых данных.


const array = ['apple', 'banana', 'apple', 'orange', 'banana'];
const counts = {};
array.forEach(item => {
  counts[item] = (counts[item] || 0) + 1;
});
console.log(counts); // Выведет: { apple: 2, banana: 2, orange: 1 }
  

Выбор подходящего метода

Оптимальный метод подсчета зависит от сложности задачи. Для простых увеличений используется ++. Для подсчета в массивах часто лучше всего подходит reduce(). Для сложных сценариев с условной логикой подходят циклы.

Заключение

JavaScript предоставляет универсальные инструменты для подсчета. Овладение этими методами повышает эффективность и читаемость кода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *