Otimização através de funções integradas em JavaScript

Suponha que um programador queira verificar se o array contém o 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);

Eu afirmo que há algo errado com este código. O que está errado, já que saímos do loop depois de encontrar o número 3? O fato é que as funções integradas do JavaScript sempre funcionam mais rápido do que código personalizado equivalente.

No nosso caso, existe a função includes, que resolve o problema proposto - e devemos usar precisamente esta função:

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

Moral: antes de resolver uma tarefa, sempre verifique se não existe uma função integrada do JavaScript para resolvê-la.

Задание 1

O código a seguir verifica se uma string começa com 'http'. Execute a otimização:

javascriptlet str = '';

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

O código a seguir preenche um array com um valor determinado. Execute a otimização:

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;
}