Javascript
На выходе я получаю 00.10.10.20.20.050.050.05.
Однако мне нужна сумма, которая должна быть .75.
var array = ['0.1','0.1','0.2','0.2','0.05','0.05','0.05']
var sum = 0;
function sumArray() {
var random = Math.floor(Math.random() * 100);
for (i=0; i < array.length ; i++) {
sum +=array[i];
}
}
sumArray();
alert(sum);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


let array = ['0.1','0.1','0.2','0.2','0.05','0.05','0.05'];
let sum = array.reduce((a, b) => parseFloat(a) + parseFloat(b));
console.info(sum);Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно как и / или Почему, он решает проблему, что улучшит долгосрочную ценность ответа.
Вы не используете тот же массив, что и вопрос.
На самом деле вы объединяете строки (в вашем массиве есть строки). Просто проанализируйте свои строки:
var array = ['0.1','0.1','0.2','0.2','0.05','0.05','0.05']
var sum = 0;
function sumArray() {
var random = Math.floor(Math.random() * 100);
for (i=0; i < array.length ; i++) {
sum += parseFloat(array[i]);
}
}
sumArray();
alert(sum);
Строка - это не число ...