📅  最后修改于: 2023-12-03 15:37:50.601000             🧑  作者: Mango
在 Javascript 中,复制对象可以使用Object.assign()
或{...}
语法。
但是当需要复制一个字典(dictionary)对象时,有些情况下使用上述方法会出现问题。那么如何正确地复制字典对象呢?下面提供一个可行的方法。
const originalDict = { key1: 'value1', key2: 'value2' };
const copiedDict = JSON.parse(JSON.stringify(originalDict));
这个方法将先使用JSON.stringify()
将字典对象转换为 JSON 字符串,然后使用JSON.parse()
将其解析为新的对象,从而实现字典对象的复制。但需要注意的是,由于这种方法会将函数和其他特殊值丢失,因此只适用于复制纯数据对象。
除此之外,还可以使用 Lodash 库中的_.cloneDeep()
方法。这个方法能够递归地复制对象和数组,包括嵌套的对象和数组。
const _ = require('lodash');
const originalDict = { key1: 'value1', key2: ['value2', 'value3'] };
const copiedDict = _.cloneDeep(originalDict);
以上是两种常见的复制字典对象的方法。需要根据具体场景选择适合的方法,以保证代码的正确性和高效性。