在进行画布json对象操作时,需要制作一个json对象的副本用来保存原始数据,但是用普通的复制方法是浅拷贝,改变一个时另一个中的属性也会变化。因此需要进行一个方法去制作一个jsonObject的深拷贝
var objDeepCopy = function (source) {
var sourceCopy = source instanceof Array ? [] : {};
for (var item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
}
return sourceCopy;
此方法是通过递归进行将数组中所有对象都进行复制,返回一个新的相同的数组。
var temp = objDeepCopy(jsonData);
myModel.nodeDataArray = temp;