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”,它只在数组内部进行复制.
解决方法
@H_404_21@ 您正在寻找.set
,它允许您使用输入数组(或TypedArray)设置数组的值,可选地从目标数组上的某个偏移量开始:
destination.set(source); destination.set(source,offset);
或者,设置有限数量的输入数组:
destination.set(source.slice(limit),offset);
如果你想要创建一个新的TypedArray,你可以简单地使用.slice:
source.slice();