法一:使用lodash
npm i --save lodash
const _ = require('lodash');
console.log(_.cloneDeep(list));
法二:手動寫個共通方法
public static clone(target: any): any {
if (target == null) {
return null;
}
const cloneObject = new target.constructor();
Object.keys(target).forEach(
(attr: string) => {
cloneObject[attr] = (typeof target[attr] === 'object') ? this.clone(target[attr]) : target[attr];
}
);
return cloneObject;
}