Sobes.tech
Middle

Schrijf een functie die een array van getallen en strings accepteert en de som van alle elementen retourneert, waarbij strings worden geconverteerd naar getallen. Hoe om te gaan met strings die niet-numerieke tekens bevatten?

sobes.tech AI

Antwoord van 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')

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