Object.entries是JavaScript中的一个内置方法,它可以将一个对象的属性和值转换为一个包含键值对的数组。
let obj = {
name: 'mike',
age: 18,
sex: 'man'
}
Object.entries(obj)
Object.entries的使用场景:
1、动态更新对象属性
let obj = {name: 'mike', age: '18', sex: 'man'}
Object.entries(obj).forEach(([key, value]) => {
obj[key] = value + 'test';
})
obj // {name: 'miketest', age: '18test', sex: 'mantest'}
2、对象属性的遍历和操作,下面是一个过滤分数不及格的例子
let sore = {
js: 89,
php: 95,
html: 60,
css: 38
}
let list = Object.entries(sore).filter(([key, value])=>value>=60)
let filterSore = Object.fromEntries(list)
filterSore // {js: 89, php: 95, html: 60}
从上面的代码中我们看到Object.fromEntries,它是Object.entries的逆向操作,可以把键值对列表转换为一个对象
Object.fromEntries使用场景:
1、Map 转 Object
let map = new Map()
map.set('name', 'mike')
map.set('age', '29')
map.set('sex', 'man')
Object.fromEntries(map) // {name: 'mike', age: '29', sex: 'man'}
2、url的search参数转换
let url = 'https://nowcoder.com/online?id=1&salas=1000'
let paramsEntries = new URLSearchParams(url.slice(url.indexOf('?')))
Object.fromEntries(paramsEntries) // {id: '1', salas: '1000'}