Middle
Écrivez une fonction qui prend un tableau de nombres et de chaînes et retourne la somme de tous les éléments, en convertissant les chaînes en nombres. Comment traiter les chaînes contenant des caractères non numériques?
sobes.tech IA
Réponse de l'IA
Для решения задачи можно пройтись по массиву, конвертируя строки в числа с помощью функции 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')
Таким образом, строки с нечисловыми символами не влияют на сумму, так как они пропускаются.