0

I'm making an api request that returns an object with a drinks property which is an array of drink objects. The drink objects have two properties of interest for me, id, and name. Is there a simple way to destructure the data so I get just an array of objects with the id and name of each drink?

The best way I can think of is to do the following:

 const {drinks} = await [api request]
 const arrDrinks = drinks.map((drinkObj, i) => {
      return {drinkObj.idDrink, drinkObj.strDrink}
    })

Would there be a way to do this in one line through nested destructuring?

klondike
  • 383
  • 3
  • 13
  • No, there's not. But what's wrong with an object that has all the properties? You can normally use it in any place that requires only the two you're interested in. – Bergi Nov 27 '21 at 21:44

1 Answers1

1

The syntax you have used for the returned object literal is not correct. Use destructuring in the parameter:

const arrDrinks = drinks.map(({idDrink, strDrink}) => ({idDrink, strDrink}));
trincot
  • 317,000
  • 35
  • 244
  • 286