Функция TaxCalculator Javascript код не работает - PullRequest
1 голос
/ 21 апреля 2020
const taxCalculator (price, state) => {
    let state = 'NY' || 'NJ';
     if (state === 'NY'){
        return price * 1.04;
    } else {
        return price * 1.06625;
    }
}

// Меня попросили определить функцию под названием taxCalculator, которая принимает цену товара и состояние. TaxCalculator должен произвести сумму после уплаты налога. Если в Нью-Йорке - 4% налога с продаж, а в Нью-Джерси - 6,625% налога с продаж.

СПАСИБО!

Ответы [ 3 ]

0 голосов
/ 21 апреля 2020

Исправил ваш код, попробуйте это:

const taxCalculator = (price, state) => {
if (state === 'NY' ) {
    return price * 1.04;
  } else {
    return price * 1.06625;
  }
}

console.log (taxCalculator (100, 'NY'));

0 голосов
/ 21 апреля 2020

Синтаксис функции стрелки:

Отсутствует первый =

|var, const, let| identifier = (@param1, ...@paramN) => {...
  ...
  return result;
}

const taxCalculator = (price, state) => {...

state, уже объявленный как второй параметр - - удалите let, чтобы сделать его действительным - удалите все выражение, потому что оно бесполезно:

let state = 'NY' || 'NJ';

Оператор if/else уже сортирует, если state равно 'NY' или нет. Выражение выше даже не определяет, не изменяет и т. Д. c. state вообще.


Демо

Примечание: Подробности прокомментированы в демоверсии

/*
= Two ternaries:
- if state is 'NY' [?] then tax is 1.04
  [:] if state is 'NJ' [?] then tax is 1.06625
  [:] otherwise tax is nothing
- if tax is nothing [?] then return a message
  [:] otherwise return the product of price and tax as a
      String prefixed by '$' and truncated to 2 decicimals.
*/
const taxCalculator = (price, state) => {
  let tax = state === 'NY' ? 1.04 : state === 'NJ' ? 1.06625 : null;
  return tax === null ? `${state} not recognized` : '$' + (price * tax).toFixed(2);
}

console.log(taxCalculator(5.29, 'NJ'));
console.log(taxCalculator(5.29, 'CA'));
console.log(taxCalculator(5.29, 'NY'));
0 голосов
/ 21 апреля 2020

Это неправильно, ваша переменная "state" является параметром вашей функции. Пожалуйста, попробуйте:

function taxtaxCalculator(price, state) {
  let resp
  switch (state) {
     case 'NY':
         resp = price * 1.04
         break;

     case 'NJ':
         resp = price * 1.06625
         break;

     default:
         //Another case not defined in the question.
         resp = price * 1
         break;
  }
  return resp

}

Также, если вы хотите поддерживать другие случаи, кроме Нью-Йорка и Нью-Джерси, вы можете использовать функцию переключателя внутри для сравнения значения переменной «состояние».

...