30 lines
No EOL
1,014 B
Markdown
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` для похожей задачи. |