Middle
Scrivi una funzione che accetta un array di numeri e stringhe e restituisce la somma di tutti gli elementi, convertendo le stringhe in numeri. Come gestire le stringhe che contengono caratteri non numerici?
sobes.tech AI
Risposta dell'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')
Таким образом, строки с нечисловыми символами не влияют на сумму, так как они пропускаются.