nodejs 有两个obj A与B 他们的结构都相同, 如何把A的值完整的赋值给B。快速且安全,完整代码
时间: 2024-10-13 08:09:06 浏览: 2
在Node.js中,如果你有两个结构相同的对象A和B,你可以直接使用赋值操作符`=`来将A的所有属性和值复制到B。这是一个基本的例子:
```javascript
let objA = {
key1: 'value1',
key2: 'value2',
nestedObj: { innerKey: 'innerValue' }
};
let objB = {}; // 初始化一个新的空对象
// 将objA的值赋给objB
objB = objA;
console.log(objB); // 打印出objA的副本,包括嵌套对象
```
在这个例子中,`objB`现在包含了`objA`的所有属性及其值,包括嵌套对象。这种方法是快速且直接的,只要对象的结构相同,就可以完成数据转移。注意,这并不是浅拷贝,而是创建了一个新的对象实例,并将其引用指向了原对象的地址。
如果你想确保完全独立的副本,而不是共享引用,可以使用`JSON.parse()`和`JSON.stringify()`结合,但这通常适用于简单类型的数据,而不适用于复杂的引用类型(如Date、RegExp等),因为它们会被序列化为字符串:
```javascript
let objA = ...; // 任意复杂对象
let objB = JSON.parse(JSON.stringify(objA));
```
这会生成一个独立的深拷贝,但是效率较低。