The Walrus
The Walrus

Reputation: 1208

Prefer destructuring es-lint error

I have this function:

const calculateTotal = (items) => {
  return items.reduce((totalPrice, basketItem) => {
    const price = basketItem.product.price;
    const quantity = basketItem.quantity;
    const total = price * quantity;
    return totalPrice + total;
  }, 0);
};

How do I fix this with ES6+ destructuring?

I know I need something like (on line 4):

const { basketItem: quantity } = quantity;

but I can't get line 3 working

Upvotes: 6

Views: 473

Answers (2)

codejockie
codejockie

Reputation: 10864

Based on the what you attempted doing, you could do this to get price from product and quantity from basketItem without having to declare variables on two separate lines.

const calculateTotal = (items) => {
  return items.reduce((totalPrice, basketItem) => {
    const { product: { price }, quantity } = basketItem;

    const total = price * quantity;
    return totalPrice + total;
  }, 0);
};

Upvotes: 7

SM Chinna
SM Chinna

Reputation: 341

const quantity=basketItem.quantity;

below this destructuring method :

const {quantity}=basketItem;

Upvotes: 6

Related Questions