const cartItems = [
{ id: 1, item: '핸드밀1', price: 40000, discount: 0, },
{ id: 2, item: '핸드밀2', price: 4000, discount: 0, },
{ id: 3, item: '핸드밀3', price: 12000, discount: 0, },
{ id: 4, item: '핸드밀4', price: 15000, discount: 0, },
];
// 1. 일반 프로그래밍 작성
const cartItemsArray = [];
for (const item of cartItems) {
const row = [];
for (const [, value] of Object.entries(item)) {
row.push(value);
}
cartItemsArray.push(row.join());
}
console.log(cartItemsArray.join('\\n'));
// 2. 함수형 프로그래밍 작성
const extractValueInObject = (obj) => Object.entries(obj)
.map(([, value]) => String(value)) // 구조 분해 할당 으로 배열 쌍을 받는다.
.join();
const cartItemsString = cartItems
.map(extractValueInObject)
.join('\\n');
console.log(cartItemsString);
Object.entries(obj)
MDN : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
entries() 메서드는 for..in(of) 와 같은 순서로 주어진 객체 자체의 enumerable 속성 [key, value] 쌍의 배열을 반환합니다.
entries() 에 의해 반환된 배열(array)의 순서는 객체가 정의된 방법과 관련이 없습니다.
배열 순서가 쓸 곳이 있다면, 다음과 같이 정렬을 먼저 하시는 것이 좋습니다.
Object.entries(obj).sort((a, b) => b[0].localeCompare(a[0]));.