Ottimizzazione tramite funzioni integrate in JavaScript

Supponiamo che un programmatore debba verificare se nell'array è presente il numero 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);

Sostengo che ci sia qualcosa che non va in questo codice. Cosa c'è di sbagliato, usciamo dal ciclo dopo aver trovato il numero 3? Il fatto è che le funzioni integrate in JavaScript funzionano sempre più velocemente del codice auto-scritto equivalente.

Nel nostro caso, esiste la funzione includes che risolve il problema posto - e dovrebbe essere utilizzata proprio questa funzione:

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

Morale: prima di risolvere un problema, assicurati sempre di controllare se non esiste una funzione integrata in JavaScript per la sua soluzione.

Задание 1

Il seguente codice verifica se una stringa inizia con 'http'. Esegui l'ottimizzazione:

javascriptlet str = '';

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

Il seguente codice riempie un array con un valore specificato. Esegui l'ottimizzazione:

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