JavaScript | Как сложить все цифры в строке?

JavaScript | Как сложить все цифры в строке?

У нас есть строка, которая состоит из цифр:

var stroka = "167592"
Переменная stroka = 167592 - JavaScript
Переменная stroka = 167592 — JavaScript

Мы хотим сложить все цифры из этой строки. То есть мы хотим выполнить такую операцию:

1 + 6 + 7 + 5 + 9 + 2

 

Как это сделать?

Сперва преобразуем строку в массив элементов:

var massiv_str = Array.from(stroka)
Массив из одно-символьных строк - JavaScript
Массив из одно-символьных строк — JavaScript

Мы разложили каждый символ строки на отдельный элемент массива.

Теперь нам нужно преобразовать каждый элемент массива в число. Будем использовать метод map()

var massiv_num = massiv_str.map(i => Number(i))
Массив из шести цифр - JavaScript
Массив из шести цифр — JavaScript

Мы получили массив из чисел, которые мы будем складывать между собой.

 
Напишем свой метод для работы с объектами-прототипами Array:

Array.prototype.sum = function(){
   var s = 0;
   for (i = 0; i < this.length; i++){
      s += this[i]
   }
   return s
}

Теперь можем прогнать массив по новому методу sum():

var massiv_summa = massiv_num.sum()
Сложение чисел в массиве - JavaScript
Сложение чисел в массиве — JavaScript

Результатом сложения всех значений элементов массива стало число 30.

 

Информационные ссылки

JavaScript | Как сложить все числа в строке?

JavaScript | Строки (String)

JavaScript | Массивы (Array)