Вы можете использовать функцию RegEx replace
, чтобы перебрать все ваши числовые элементы и добавить их.+n
действует как оператор для приведения строки к числу, которое, как вы знаете, будет работать, потому что мы извлекаем только числовые элементы из строки.Это также имеет дополнительное преимущество, заключающееся в однократной передаче строки, когда другие ответы могут проходить через нее несколько раз, и это не требует приведения вашей строки в массив.
let total;
string.replace(/[0-9]/g, (n) => total = total ? total + (+n) : +n);
let x = '27 4 2019', total;
x.replace(/[0-9]/g, (n) => total = total ? total + (+n) : +n);
console.log(total);