For Each

const numbers = [1, 2, 3, 4, 5];
 
// Result: 2 4 6 8 10
numbers.forEach((number) => {
  console.log(number * 2);
});

high order fuction

function operateOnArray(arr, operation) {
  const result = [];
  for (let i = 0; i < arr.length; i++) {
    result.push(operation(arr[i]));
  }
  return result;
}
 
function double(x) {
  return x * 2;
}
 
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = operateOnArray(numbers, double);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]

map

const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map((num) => num * 2);
 
console.log(numbers); // [1, 2, 3, 4, 5]
console.log(doubled); // [2, 4, 6, 8, 10]

filter

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = numbers.filter((num) => num % 2 === 0);
 
console.log(evenNumbers); // [2, 4, 6, 8, 10]

reduce

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce(
  (accumulator, currentValue) => accumulator + currentValue,
  0
);
 
console.log(sum); // 15

method chain

const result = "  Hello, World!  "
  .trim()
  .toLowerCase()
  .replace("world", "JavaScript");
 
console.log(result); // "hello, JavaScript!"

Sort

const numbers = [414, 200, 5, 10, 3];
 
numbers.sort((a, b) => a - b);
 
console.log(numbers); // [3, 5, 10, 200, 414]

Every + some

const numbers = [414, 200, 5, 10, 3];
 
numbers.sort((a, b) => a - b);
 
console.log(numbers); // [3, 5, 10, 200, 414]
const hasSomeEvenNumbers = numbers.some((num) => num % 2 === 0);
 
console.log(hasSomeEvenNumbers); // true