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}]