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