en.javascript.info/1-js/6-objects-more/6-call-apply/1-rewrite-sum-arguments/task.md
2015-03-10 12:36:58 +03:00

30 lines
No EOL
1,014 B
Markdown

# Перепишите суммирование аргументов
[importance 5]
Есть функция `sum`, которая суммирует все элементы массива:
```js
//+ run
function sum(arr) {
return arr.reduce(function(a, b) {
return a + b;
});
}
alert( sum([1, 2, 3]) ); // 6 (=1+2+3)
```
Создайте аналогичную функцию `sumArgs()`, которая будет суммировать все свои аргументы:
```js
function sumArgs() {
/* ваш код */
}
alert( sumArgs(1, 2, 3) ); // 6, аргументы переданы через запятую, без массива
```
Для решения примените метод `reduce` к `arguments`, используя `call`, `apply` или одалживание метода.
P.S. Функция `sum` вам не понадобится, она приведена в качестве примера использования `reduce` для похожей задачи.