Sobes.tech
Middle

Γράψτε μια συνάρτηση που δέχεται έναν πίνακα αριθμών και συμβολοσειρών και επιστρέφει το άθροισμα όλων των στοιχείων, μετατρέποντας τις συμβολοσειρές σε αριθμούς. Πώς να χειριστούμε τις συμβολοσειρές που περιέχουν μη αριθμητικούς χαρακτήρες;

sobes.tech AI

Απάντηση από 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')

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