gpt4 book ai didi

javascript - 在 JavaScript 中仅复制选定属性的最短方法是什么?

转载 作者:行者123 更新时间:2023-12-05 08:36:57 24 4
gpt4 key购买 nike

给定以下两个对象:

let a = { foo: 'bar' };

let b = {
one: 1,
two: 2,
three: 3,
four: 4,
five: 5,
six: 6,
seven: 7
};

我们可以假设这些对象中的所有值都是原始值。目标是将对象 b 中的一些 属性复制到对象 a,但不是全部。

示例:

a.one = b.one;
a.two = b.two;
// Do not copy item three
a.four = b.four;
a.five = b.five;
a.six = b.six;
// Do not copy item seven

在此示例中,我们省略了属性 3 和 7,但我们也可以省略任何其他属性,甚至不止两个项目。如您所见,如果我们要处理许多属性,此解决方案可能会非常麻烦。

问题:要在 2021 年使用现代 JavaScript 实现这样的目标,最短 、最干净和最简单 的解决方案是什么?

注意:对于解决方案,您可以假设给出了一个字符串数组。每个字符串表示应复制的值的键。因此,在上面的示例中,您可以假设 const keys = ['one', 'two', 'four', 'five', 'six']; 被给定。

最佳答案

我会在给定键的数组上使用 forEach 来复制我需要的内容:

const a = {
foo: 'bar'
};

const b = {
one: 1,
two: 2,
three: 3,
four: 4,
five: 5,
six: 6,
seven: 7
};

const doCopy = ['two', 'five'];

doCopy.forEach(el => a[el] = b[el]);

console.log(a);

关于javascript - 在 JavaScript 中仅复制选定属性的最短方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67149197/

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