luma.gl/test/setup/deep-copy.js
2019-01-18 14:53:36 -08:00

17 lines
373 B
JavaScript

// Recursively copies objects
export default function deepCopy(object) {
if (Array.isArray(object)) {
return object.map(element => deepCopy(element));
}
if (object !== null && typeof object === 'object') {
const newObject = {};
for (const key in object) {
newObject[key] = deepCopy(object[key]);
}
return newObject;
}
return object;
}