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 }]
Object.keys
注意:这是一个静态方法而非原型方法。
用途:需要将对象转换为数组进行处理时。
const obj = {
key1: 'xx',
key2: 'xx',
}
const items = Object.keys(obj)
console.log(items)
// ['key1', 'key2']
用途和entries
差不多,只不过取value
的方式比entries
稍微麻烦一点,需要用中括号读取value
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。