Как мне создать новую функцию, которая будет принимать массив чисел и добавлять их все? - PullRequest
0 голосов
/ 23 декабря 2018

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

var total = 0;
arr = [7, 8, 9];

function totalOfNumbers(arr){
   for (i = 0; i < arr.length; ++i) {
     total += arr[i]; 
   }
   return total; 
}
console.log(totalOfNumbers); 

Спасибо за ваше время.

Ответы [ 6 ]

0 голосов
/ 23 декабря 2018

Вот один вкладыш:)

const totalOfNumbers = arr => arr.reduce((a,v) => a + v)
0 голосов
/ 23 декабря 2018

Можно попробовать

var numbers = [65, 44, 12, 4];

function add(total, num) {
  return total + num;
}
var total = numbers.reduce(getSum);
0 голосов
/ 23 декабря 2018

Вот очень простой, функциональный подход, то есть менее краткая версия для добавления содержимого массива.Возможно, вы захотите проверить, что все элементы являются фактическими числами JavaScript, прежде чем пытаться добавить.Документацию по функции уменьшения можно найти здесь .

let total = 0;
let arr = [7, 8, 9];

function totalOfNumbers(values){
   return values.reduce((accumulator, value) => {
     accumulator += value;
     return accumulator;
   }, 0);
}
console.log(totalOfNumbers(arr)); // 24
0 голосов
/ 23 декабря 2018

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

function totalOfNumbers(arr){
    return arr.reduce((a,b)=>a+b);
}

/*and then call the function by passing the array that you want to    
get the sum of elements */

let arr = [7,8,9];
let sumOfArray = totalOfNumbers(arr);    
console.log(sumOfArray)  

Нажмите здесь для получения дополнительной информации о Array.prototype.reduce

0 голосов
/ 23 декабря 2018

Вы должны вызвать или вызвать (указав круглые скобки в конце имени функции) функцию, передав массив в качестве параметра.Если вы не укажете скобки, вместо выполнения функции будет возвращена сама функция:

var total = 0;
var arr = [7, 8, 9];

function totalOfNumbers(a){
  for (i = 0; i < a.length; ++i) {
   total += a[i]; 
  }
  return total; 
}
console.log(totalOfNumbers(arr)); // call the function by specifying parenthesis at the end of the function name
0 голосов
/ 23 декабря 2018

Попробуйте вот так

var total = 0;
    arr = [7, 8, 9];

    function totalOfNumbers(arr){
       for (i = 0; i < arr.length; ++i) {
             total += arr[i]; 
    }
    return total; 
    }
    console.log(totalOfNumbers(arr));  //Note here calling function with arr 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...