toBarChart = function (d){
var tData = [{values: []}];
angular.copy(d, tData[0].values)
return tData;
}
答案 0 :(得分:2)
只需使用Object.assign(...),它将所有属性值从源复制到目标对象。
让我们看一个例子:
(function() {
let originalData = {
title: 'example value'
};
let targetData = {};
Object.assign(targetData, originalData);
targetData.title = 'updated value';
console.log('source and target', {
original: originalData.title,
target: targetData.title
});
})();
在您的情况下,我认为您可以执行以下操作:
toBarChart = function (d){
var tData = [{values: []}];
Object.assign(d, tData[0].values)
return tData;
}
答案 1 :(得分:0)
您可以尝试_.cloneDeep函数
答案 2 :(得分:0)
lodash非常适合在Angular中进行深度复制
import * as _ from 'lodash';
let newCopy = _.cloneDeep(objectToBeCopied);
答案 3 :(得分:0)
如果源是对象数组,请使用地图:
let clonedArray = sourceArray.map(x => Object.assign({}, x));
或者来源是一个对象:
Object.assign({}, sourceObject)