Создание для l oop функции с накопительным паттерном - PullRequest
1 голос
/ 15 апреля 2020

Я новичок в изучении JavaScript и мне нужна помощь в создании функции, которая выполняет для l oop с накопительным шаблоном, который проходит через массив.

То, что я написал до сих пор, будет работать без ошибка, но не удается выполнить функцию во всем массиве «цели»

function totalGoals (goals, total) {
    for (i=0, g=goals.length; i<g; i++)
        return (total + goals[i])
}

totalGoals([ 1, 2, 3], 1)

Что я делаю не так? Я хочу, чтобы функция накапливала каждое значение в действии "цели".

Ответы [ 3 ]

2 голосов
/ 15 апреля 2020

Встроенный массив . Редукция Метод

console.log([1, 2, 3].reduce((a, b) => a + b, 1));
1 голос
/ 15 апреля 2020

Это то, что вы ищете?

function totalGoals (goals, total) {
  for (let i = 0; i < goals.length; i++) {
    total += goals[i]
  }
  return total
}
const total = totalGoals([1, 2, 3], 1)
console.log(total)
0 голосов
/ 15 апреля 2020

Следующий код суммирует числа в массиве. A для l oop перечисляет элементы в массиве, и каждый раз, когда l oop, переменная аккумулятора обновляется.

function sum(arr) {
 let acc = 0
 for (let i = 0; i < arr.length; i++) {
   acc += arr[i]
 }
 return acc
}
const result = sum([1, 2, 3])
console.log(result)
...