Obejct.values() / Object.entries()

const fetchMeals = async () => {
    try {
      const res = await fetch(
        '<https://react-http-8dd13-default-rtdb.firebaseio.com/meals.json>'
      );
      const data = await res.json();
      const values = Object.values(data);
      const entries = Object.entries(data);
      console.log('mealsArr2', mealsArr2);
      console.log(mealsArr);
      setMeals(mealsArr);
      return mealsArr;
    } catch (err) {
      console.log(err);
      return [];
    }
  };
// entries

[Array(2), Array(2), Array(2), Array(2), Array(2)]

Array(2)
0: "m1"
1: {description: 'yummy', id: 1, name: 'Sushi', price: 16.99}
// values

[{…}, {…}, {…}, {…}, {…}]

0: {description: 'yummy', id: 1, name: 'Sushi', price: 16.99}
1: {description: 'A german specialty!', id: 2, name: 'Schnitzel', price: 16.5}
2: {description: 'American, raw, meaty', id: 3, name: 'Barbecue Burger', price: 12.99}
3: {description: 'good', id: 4, name: 'refactoring', price: 20}
4: {description: 'good', id: 5, name: 'egg', price: 20.21}

Object.values() 메소드를 사용하여 객체의 값을 추출할 때는, 속성 이름을 알아낼 수 없는 한계가 있음.

만약 속성 이름을 함께 추출하고자 한다면, for...in루프나 Object.entries() 메소드를 사용해야 한다.

Last updated