entries
介紹
這是一個靜態方法,用於將物件轉換為陣列。
該方法接受一個物件,然後返回一個陣列,該陣列的每個元素為一組物件的鍵名和鍵值。
const arr = Object.entries({name1: 'tom', name2: 'lily'})
console.log('arr', arr)
// [['name1', 'tom'], ['name2', 'lily']]
用途
用於結合map、filter、reduce
等宣告式函式進行無副作用的資料加工。
下面是對obj
進行遍歷並統計每個人的合計得分示例:
const obj = { tom: [1, 2, 3], lily: [1, 2] }
const items = Object.entries(obj).map(([key, values]) => ({
name: key,
value: values.reduce((acc, curr) => acc += curr, 0)
}))
console.log('items', items)
// [{ name: 'tom', value: 6 }, { name: lily, value: 3 }]