Как складывать значения аргумента?

418
15 декабря 2017, 05:09

Здравствуйте, есть ли способ правильно складывать прошлые значения аргументов с новыми?

Код:

const TAX = 73;
function getTax (buy) {
  let discount = buy / 100 * TAX;
    return discount;
}
console.log(getTax(9000));
console.log(getTax(18000));
console.log(getTax(27000));
console.log(getTax(36000));
console.log(`Налог с продаж (${TAX} %), к оплате: ${getTax()} Q`);

В console.log(Налог с продаж (${TAX} %), к оплате: ${getTax()} Q); мне надо получить сумму всех уже раннее указанных аргументов, то есть, попросту сложить значения раннее вычисленных значений аргумента.

Answer 1

Это вроде называется мемоизация или как то так. Вам надо положить куда-то промежуточную сумму, например в замыкание, как то так -

const TAX = 73; 
 
const getTax = (() => { 
    let sum = 0; 
    return (buy=0) => { 
      sum += buy / 100 * TAX; 
      return sum; 
    } 
})() 
 
console.log(getTax(9000)); 
console.log(getTax(18000)); 
console.log(getTax(27000)); 
console.log(getTax(36000)); 
console.log(`Налог с продаж (${TAX} %), к оплате: ${getTax()} Q`);

И есть еще миллион способов сделать это по другому)

READ ALSO
Jquery data() funiction не работает в Edge [требует правки]

Jquery data() funiction не работает в Edge [требует правки]

Element - Input с type = radioДанный участок кода работает корректно в Chrome,Opera , но не работает в Edge как это можно пофиксить ?

283
Запись выбранного города в localstorage

Запись выбранного города в localstorage

Добрый вечер! Сразу скажу, что не силен в js - jqueryЗадача следующая, есть всплывающее окно, в котором выводятся списки городов и стран

296
gulp browser-sync не открывает браузер

gulp browser-sync не открывает браузер

Здравствуйте, помогите, пожалуйстаВвожу

343