Задача №1
Створити клас, що дозволяє виконувати такі операції над масивами: знаходження кількості додатних, кількості від’ємних, кількість входжень деякого числа (статичні методи).
Рішення:
'use strict'
/** A utility class for performing various operations on arrays of numbers. */
class NumberUtils {
/**
* @param {number[]} list
* @returns {number}
*/
static positiveCount(list) {
return list.reduce((count, value) => (value > 0 ? count + 1 : count), 0)
}
/**
* @param {number[]} list
* @returns {number}
*/
static negativeCount(list) {
return list.reduce((count, value) => (value < 0 ? count + 1 : count), 0)
}
/**
* @param {any} entry
* @param {any[]} list
* @returns {number}
*/
static entriesCount(entry, list) {
return list.reduce(
(count, value) => (value === entry ? count + 1 : count),
0,
)
}
}
// ---
const list = [
0, 1, -1, 2, 3, 5, 8, 13, 21, -34, 55, 89, 144, -233, 377, 610, -987, 1597,
-2584, 4181, -34,
]
console.log(list)
console.log(NumberUtils.positiveCount(list))
console.log(NumberUtils.negativeCount(list))
console.log(NumberUtils.entriesCount(-34, list))
