Optimización mediante funciones integradas en JavaScript

Supongamos que un programador verifica si en un array existe el número 3:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let exists = false;

for (let elem of arr) {
  if (elem === 3) {
    exists = true;
    break;
  }
}

console.log(exists);

Afirmo que hay algo incorrecto con este código. ¿Qué pasa, si salimos del ciclo después de encontrar el número 3? El asunto es que las funciones integradas en JavaScript siempre funcionan más rápido que un código personalizado análogo.

En nuestro caso, existe la función includes, que resuelve la tarea planteada, - y se debe utilizar precisamente esta función:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));

Moraleja: antes de resolver una tarea, asegúrese si existe o no una función integrada de JavaScript para su solución.

Задание 1

El siguiente código verifica si una cadena comienza con 'http'. Realice la optimización:

javascriptlet str = '';

if (str[0] + str[1] + str[2] + str[3] === 'http') {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

El siguiente código llena un array con un valor determinado. Realice la optimización:

javascriptlet arr = fillArr('x', 5);
console.log(arr);

function fillArr(val, amount) {
  let arr = [];
  
  for (let i = 1; i <= amount; i++) {
    arr.push(val);
  }
  
  return arr;
}