Optimisation de la conversion en tableau en JavaScript

Il n'est pas toujours nécessaire de diviser une chaîne en tableau pour faire quelque chose avec. Regardons un exemple. Supposons que nous ayons le code suivant :

javascriptlet num = 123456789;
let arr = String(num).split('');
let sum = 0;

for (let elem of arr) {
  sum += +elem;
}

console.log(sum);

Pourquoi est-il mauvais de diviser en tableau ici ? Parce que, premièrement, la division en tableau consomme des ressources processeur, deuxièmement, le tableau obtenu occupera de la place en mémoire vive (et celle-ci sera plus importante que la place occupée par la chaîne elle-même).

Or en réalité, avec for-of on peut parcourir non seulement les tableaux, mais aussi les chaînes :

javascriptlet num = 123456789;
let str = String(num);
let sum = 0;

for (let char of str) {
  sum += +char;
}

console.log(sum);
Задание 1

Le code suivant recherche la somme des chiffres d'un nombre saisi dans un input. Effectuez l'optimisation :

html<input>
javascriptlet input = document.querySelector('input');

input.addEventListener('blur', function() {
  let digits = input.value.split('');
  let sum = 0;
  
  for (let digit of digits) {
    sum += +digit;
  }
  
  console.log(sum);
});
Задание 2

Le code suivant compte le nombre de lettres dans une chaîne. Effectuez l'optimisation :

javascriptlet str = 'abcaab';
let arr = str.split('');

let i = 0;

for (let elem of arr) {
  if (elem == 'a') {
    i++;
  }
}

console.log(i);
Задание 3

Le code suivant vérifie la présence d'un symbole dans une chaîne. Effectuez l'optimisation :

javascriptlet str = 'abcaab';
let arr = str.split('');

console.log(arr.includes('a'));