Напишите функцию, которая возвращает сумму значений для каждого получаемого параметра

#javascript #arguments

#javascript #аргументы

Вопрос:

Я хочу, чтобы результатом была сумма каждого числа, но вместо этого она суммирует только первое число с остальными. Например, если параметр был: 1,2,3,4,5, он должен был выдавать 15, но вместо этого он стал 3456. Где я ошибся? Спасибо, ребята, я новичок в этом, и это было действительно сложно : ((

    function func1(sum) {
     var result = '';
     var i;
   for (i = 1; i < arguments.length; i  ) {
     result  = arguments[i]   sum;
    }
   return resu<
    }
  

Комментарии:

1. Вы должны инициализировать result значением 0, а не пустой строкой.

2. также вам следует удалить sum параметр. arguments это волшебное свойство javascript, которое всегда доступно внутри функции, и в нем перечислены все аргументы в виде массива. Поскольку вы хотите использовать x-количество параметров, вам следует использовать это вместо фиксированного параметра типа sum . Кроме того, i должен начинаться с 0, потому что массивы (на «каждом» языке программирования) начинаются с индекса 0, а не с индекса 1.

Ответ №1:

  1. Начните с того, что result это число, а не строка: var result = 0 .
  2. Если вы выполняете итерацию arguments , вы можете также вообще пропустить именованный первый аргумент.
  3. Начните итерацию с 0, а не с 1.

    function func1() {
     var result = 0;
     var i;

     for (i = 0; i < arguments.length; i  ) {
       result  = arguments[i];
     }

     return resu<
    }

console.log(func1(1, 2, 3, 4, 5));  

Ответ №2:

Это должно сработать

 function sum(value) {
let result = 0;

for(let i =0; i < value.length; i  ) {
  
result  =value[i];
}
return result
}

let arry = [1,2,3,4,5]
console.log(sum(arry)) //15