Sobes.tech
Middle

Schreiben Sie eine Funktion, die ein Array aus Zahlen und Strings akzeptiert und die Summe aller Elemente zurückgibt, wobei Strings in Zahlen umgewandelt werden. Wie gehen Sie mit Strings um, die nicht numerische Zeichen enthalten?

sobes.tech KI

Antwort von AI

Для решения задачи можно пройтись по массиву, конвертируя строки в числа с помощью функции Number или parseFloat. Если строка содержит нечисловые символы, при конвертации получится NaN. Чтобы обработать такие случаи, нужно проверять результат конвертации и игнорировать или обрабатывать элементы, которые не удалось преобразовать в число.

Пример функции на JavaScript:

function sumArray(arr) {
  return arr.reduce((sum, item) => {
    let num = typeof item === 'string' ? Number(item) : item;
    if (isNaN(num)) {
      // Игнорируем элементы, которые не конвертируются в число
      return sum;
    }
    return sum + num;
  }, 0);
}

// Пример использования:
const data = [10, '20', '30a', '40', 5];
console.log(sumArray(data)); // Выведет 75 (игнорирует '30a')

Таким образом, строки с нечисловыми символами не влияют на сумму, так как они пропускаются.