Назад к вопросам
Транснефть
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')
Таким образом, строки с нечисловыми символами не влияют на сумму, так как они пропускаются.