arrfn-anushka
Version:
A custom array utility package with useful HOFs
67 lines (60 loc) • 1.26 kB
JavaScript
// 1st
function sum(arr) {
return arr.reduce((total, num) => total + num, 0);
}
// 2nd
function average(arr) {
return arr.length === 0 ? 0 : sum(arr) / arr.length;
}
// 3rd
function unique(arr) {
return [...new Set(arr)];
}
// 4th
function max(arr) {
return Math.max(...arr);
}
// 5th
function min(arr) {
return Math.min(...arr);
}
// 6th
function countOccurrences(arr, value) {
return arr.filter(item => item === value).length;
}
// 7th
function isSorted(arr) {
for (let i = 1; i < arr.length; i++) {
if (arr[i] < arr[i - 1]) return false;
}
return true;
}
// 8th
function removeValue(arr, value) {
return arr.filter(item => item !== value);
}
// 9th
function countEvenOdd(arr) {
let even = 0, odd = 0;
arr.forEach(num => num % 2 === 0 ? even++ : odd++);
return { even, odd };
}
// 10th
function reverseArray(arr) {
return [...arr].reverse();
}
module.exports = {
sum,
average,
unique,
max,
min,
countOccurrences,
isSorted,
removeValue,
countEvenOdd,
reverseArray
};
// rray-helper-anushka
// "description": "A custom array utility package with useful HOFs"
// ["array", "helper", "utilities", "HOF", "nodejs"]