Sobes.tech
Middle

Escribe una función que acepte un array de números y cadenas y devuelva la suma de todos los elementos, convirtiendo las cadenas en números. ¿Cómo manejar las cadenas que contienen caracteres no numéricos?

sobes.tech AI

Respuesta de la IA

Для решения задачи можно пройтись по массиву, конвертируя строки в числа с помощью функции 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')

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