C#具有高性能的数组复制功能,可以复制数组:
Array.copy(source,destination,length)
它比手动操作更快,即:
for (var i = 0; i < length; i++)
destination[i] = source[i];
我正在寻找一个等效的高性能复制函数来复制数组,对于Javascript中的Int32Array和Float32Array,并且找不到这样的函数:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
最接近的是“copyWithin”,它只在数组内部进行复制.
是否有适用于TypedArrays的内置高性能复制功能?
B计划,是否有内置的高性能克隆功能? (编辑:看起来像slice()就是答案)
解决方法
您正在寻找
.set,它允许您使用输入数组(或TypedArray)设置数组的值,可选地从目标数组上的某个偏移量开始:
destination.set(source); destination.set(source,offset);
或者,设置有限数量的输入数组:
destination.set(source.slice(limit),offset);
如果你想要创建一个新的TypedArray,你可以简单地使用.slice:
source.slice();