如何在JavaScript中克隆/复制地图?
我知道如何克隆阵列,但如何克隆/复制映射?
var myArray = new Array(1, 2, 3);
var copy = myArray.slice();
// now I can change myArray[0] = 5; & it wont affect copy array
// Can I just do the same for map?
var myMap = new ?? // in javascript is it called a map?
var myMap = {"1": 1, "2", 2};
var copy = myMap.slice();
发布于 2016-04-04 06:59:58
随着JavaScript中Map的引入,考虑到构造器接受一个迭代器,这是非常简单的:
var newMap = new Map(existingMap)
这里的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
发布于 2017-07-11 19:46:57
克隆地图非常简单,因为您正在谈论的只是一个对象。在ES6中有一个您应该查找的Map
,但是要复制一个对象,只需使用Object.assign()
let map = {"a": 1, "b": 2}
let copy = Object.assign({}, map);
您也可以使用Lodash中的cloneDeep()
let copy = cloneDeep(map);
发布于 2011-11-21 11:50:19
JQuery有一个扩展对象的方法(合并两个对象),但是这个方法也可以通过提供一个空对象来克隆一个对象。
// Shallow copy
var newObject = jQuery.extend({}, oldObject);
// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);
更多信息可以在jQuery documentation中找到。
https://stackoverflow.com/questions/8206988
复制相似问题