📅  最后修改于: 2023-12-03 14:42:28.668000             🧑  作者: Mango
typedArray.slice()
方法返回一个新的 TypedArray
对象,该对象包含了指定范围内 TypedArray
对象的浅拷贝。起始和结束位置可通过索引(即从正数索引 0 开始)调用方法进行指定。
该方法并不改变原有的 TypedArray
对象,它只是返回一个从原始 TypedArray
对象的指定范围内拷贝值的新 TypedArray
对象。
typedarray.slice(begin, end)
typedArray.length
。一个新的(类型化的)数组,它包含了 typedArray
中 begin
和 end
范围内的浅拷贝。
const int16Array = new Int16Array([1, 2, 3, 4, 5]);
const slicedArray = int16Array.slice(1, 3);
console.log(int16Array); // Int16Array(5) [1, 2, 3, 4, 5]
console.log(slicedArray); // Int16Array(2) [2, 3]
console.log(slicedArray.buffer); // ArrayBuffer(10) {}
console.log(int16Array.buffer === slicedArray.buffer); // true
const float64Array = new Float64Array([1.1, 2.2, 3.3, 4.4, 5.5]);
const slicedFloatArray = float64Array.slice(-3);
console.log(float64Array); // Float64Array(5) [1.1, 2.2, 3.3, 4.4, 5.5]
console.log(slicedFloatArray); // Float64Array(3) [3.3, 4.4, 5.5]
console.log(slicedFloatArray.buffer);// ArrayBuffer(24) {}
console.log(float64Array.buffer === slicedFloatArray.buffer); // true
通过以上示例,我们可以看到:
typedArray.slice()
返回的是一个浅拷贝的新 TypedArray
对象。begin
和 end
参数可选择性指定,如果未指定,则默认为 0 和 typedArray.length
。begin
或 end
参数为负数,则等价于 typedArray.length + begin/end
。TypedArray
对象。