gpt4 book ai didi

javascript - 在 Angular 2 中复制对象的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 19:31:27 24 4
gpt4 key购买 nike

Angular 1.x 在全局 Angular 对象上有方法,如 angular.copy、angular.shallowCopy(更不用说像 angular.forEach 等其他方法)在 Angular 2 中似乎没有等效版本。也许它只是没有记录。如果 Angular 2 不打算提供这些实用程序,那么获得该功能的最佳方式是什么?

我知道我可以使用 Angular 1.x 中的逻辑来滚动我自己的浅拷贝方法:

function shallowCopy(src, dst) {
if (isArray(src)) {
dst = dst || [];

for (var i = 0, ii = src.length; i < ii; i++) {
dst[i] = src[i];
}
} else if (isObject(src)) {
dst = dst || {};

for (var key in src) {
if (!(key.charAt(0) === '$' && key.charAt(1) === '$')) {
dst[key] = src[key];
}
}
}

return dst || src;
}

但深拷贝逻辑要复杂得多(显然)

最佳答案

当对象是一个数组时,我使用:

copyOfArray = originalArray.slice(0, originalArray.length);

其中originalArray是原始数组对象。

内置的 javascript array.slice(start, end) 函数返回数组的一个子集作为新的数组对象 (JavaScript Array slice() Method)。将开始和结束边界设置为原始数组的大小会返回整个数组的副本。

关于javascript - 在 Angular 2 中复制对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33829509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com