Sobes.tech
Назад к вопросам
Middle
2

Напиши функцию, которая принимает массив из чисел и строк и возвращает сумму всех элементов, конвертируя строки в числа. Как обработать строки, содержащие нечисловые символы?

Компании, где спрашивали
ТранснефтьТранснефть

Ответ от нейросети

sobes.tech 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')

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