как я могу написать для l oop, который складывает все числа в массиве с переменной totalSnacksEaten в javascript - PullRequest
0 голосов
/ 14 июля 2020

let snacksEatenPerDay = [3, 2, 5, 6, 1, 2, 2, 4, 8, 2, 5, 3, 3, 1];
let totalSnacksEaten = 0;
for(let i = 0; i<=snacksEatenPerDay ; i++)

totalSnacksEaten = totalSnacksEaten +i
console.log(totalSnacksEaten);

Я хочу изменить свой код, чтобы я мог получить результат, чтобы узнать сумму массива в переменной

Ответы [ 5 ]

0 голосов
/ 14 июля 2020

Вы можете сделать это несколькими способами, но, возможно, вы захотите прочитать о функции сокращения javascript.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

Вот например:

// ES5 way
let snacksEatenPerDay = [3, 2, 5, 6, 1, 2, 2, 4, 8, 2, 5, 3, 3, 1];
let totalSnacksEaten = snacksEatenPerDay.reduce(function(acc, value) {
    return acc + value;
}, 0);

console.log(totalSnacksEaten);

// ES6 way
const reducer = (accumulator, currentValue) => accumulator + currentValue;

let totalSnacksEatenReducer = snacksEatenPerDay.reduce(reducer);

console.log(totalSnacksEatenReducer);
0 голосов
/ 14 июля 2020

Надеюсь, вы преуспеете в javascript.

let snacksEatenPerDay = [3, 2, 5, 6, 1, 2, 2, 4, 8, 2, 5, 3, 3, 1];
let totalSnacksEaten = 0;

for(let i = 0; i<snacksEatenPerDay.length ; i++){
  totalSnacksEaten = totalSnacksEaten + snacksEatenPerDay[i]
}

console.log(totalSnacksEaten);
0 голосов
/ 14 июля 2020

Это сработает для вас ...

let snacksEatenPerDay = [3, 2, 5, 6, 1, 2, 2, 4, 8, 2, 5, 3, 3, 1];
let totalSnacksEaten = 0;
for(var i = 0; i < snacksEatenPerDay.length ; i++){
  totalSnacksEaten += snacksEatenPerDay[i];
}
console.log(totalSnacksEaten);
0 голосов
/ 14 июля 2020

Используйте Array.reduce(), который принимает функцию обратного вызова, которая выполняется на каждой итерации массива, и уменьшает массив до единственного выходного значения. Этой функции обратного вызова будет автоматически передано несколько аргументов, но первые два (аккумулятор и текущее значение) - это все, что вам нужно для этого:

let snacksEatenPerDay = [3, 2, 5, 6, 1, 2, 2, 4, 8, 2, 5, 3, 3, 1];
let totalSnacksEaten = snacksEatenPerDay.reduce(function(accumulator, currentValue) {
  return accumulator + currentValue;
});

console.log(totalSnacksEaten );
0 голосов
/ 14 июля 2020

Я рекомендую вам изучить основы javascript и концепции массива.

let snacksEatenPerDay = [3, 2, 5, 6, 1, 2, 2, 4, 8, 2, 5, 3, 3, 1];
let totalSnacksEaten = 0;

for(let i = 0; i<snacksEatenPerDay.length ; i++){
  totalSnacksEaten = totalSnacksEaten  + snacksEatenPerDay[i]
}
console.log(totalSnacksEaten);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...