gpt4 book ai didi

javascript - 原生地从对象中提取属性

转载 作者:搜寻专家 更新时间:2023-10-31 23:50:48 26 4
gpt4 key购买 nike

我使用 underscore.js 库从对象中提取属性。有没有更原生的 JS 方法来完成同样的事情:

var fullObject = {'name': 'Jack', 'age': 39, 'device': 'tablet', 'team': 'Red'}
const {name, device, team} = fullObject
console.log(name, device, team) // Jack tablet Red

有没有办法通过解构来创建一个新的对象?

我想将namedeviceteam 的值分配给一个新对象。

目前我这样做:

const {name, device, team} = fullObject
const newObject = {name, device, team}
console.log(newObject) // { name: 'jack', device: 'tablet', team: 'red' }

有更好的方法吗?

最佳答案

如果你在几个地方提取一个特定的子对象,并且你希望它更干,你可以写一个柯里化(Currying)的函数来接受要选择的键,然后返回另一个函数来接受一个对象来从中提取它们。

用法见下:

const pick = (...keys) => (obj) => keys.reduce((acc, k) => (acc[k] = obj[k], acc), {})
const nameDeviceTeam = pick('name', 'device', 'team')

const fullObject = { name: 'Jack', age: 39, device: 'tablet', team: 'red' }
const newObject = nameDeviceTeam(fullObject)

console.log(newObject)

关于javascript - 原生地从对象中提取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49890667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com