gpt4 book ai didi

javascript - 从 ES6 中的内联属性子集创建对象

转载 作者:行者123 更新时间:2023-11-30 12:06:08 27 4
gpt4 key购买 nike

假设我有一个对象obj:

let a = b = c = d = 1;
let obj = { a, b, c, d };

我想创建内联的新对象,具有相同的属性但更改了一个属性。到目前为止我有这个:

let other = Object.assign({a: obj.a, b: obj.b, c: obj.c}, {d: 3});

还有这个:

let other = Object.assign((({a, b, c}) => ({a, b, c}))(obj), {d: 3});

在 ES6 中有没有更好的方法来做到这一点?功能库(如 lodash)是否有任何实用程序可以执行此操作?

最佳答案

您可以使用 Object Spread operator 解压旧对象到一个新对象中,只需提供要用新值覆盖的键即可。

let obj2 = {
...obj,
d: 4
}

[object Object] {
a: 1,
b: 1,
c: 1,
d: 4
}

正如@azium 所指出的,这是一个第 2 阶段的提案,这意味着如果你有 Babel 6.x,你需要将它安装到 Babel 中,如果 5.x 它将默认启用。

npm install babel-preset-stage-2

关于javascript - 从 ES6 中的内联属性子集创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35162100/

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