如何在JavaScript中深度克隆非标准类型对象(如ImageData )的对象?它包含另一个UInt64Array类型的对象,我也希望它不引用单独的对象,而是完全复制它。
所有其他关于深度复制的问题只涉及简单的数据类型,如对象、数组等。这些方法,包括jQuery的扩展函数,不适用于其他数据类型。
当尝试使用jQuery的扩展(它似乎能够复制大多数不同的类型)时,我只得到了一个标准对象,丢失了我需要的类型。putImageData将只接受ImageData对象。
发布于 2017-07-02 22:46:53
您可以使用TypedArray#from克隆它和其他阵列。imageData is a Uint8ClampedArray在大多数情况下,Array.from(TypedArray)会克隆它。
let imageData = new Uint8ClampedArray([1,2,3])
let arrayClone = Array.from(imageData)
let ui8caClone = Uint8ClampedArray.from(imageData)
arrayClone[0] = 5;
ui8caClone[0] = 9;
https://stackoverflow.com/questions/44871878
复制相似问题