#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:
- Начните с того, что
result
это число, а не строка:var result = 0
. - Если вы выполняете итерацию
arguments
, вы можете также вообще пропустить именованный первый аргумент. - Начните итерацию с 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