subarray() 返回一个新的、基于相同 ArrayBuffer、元素类型也相同的的 TypedArray。开始的索引将会被包括,而结束的索引将不会被包括。TypedArray 是指 typed array types 的其中之一。

 

 

用法

typedarray.subarray([begin [,end]])

参数

begin 可选
元素开始的索引,开始索引的元素将会被包括。若该值没有传入,将会返回一个拥有全部元素的数组。
end 可选
元素结束的索引,结束索引的元素将不会被包括。若该值没有传入,从 begin 所指定的那一个元素到数组末尾的所有元素都将会被包含进新数组中。

返回值

一个新的 TypedArray 对象。

说明

  • beginend 指定的范围将会收束与当前数组的有效索引
  • 若计算后得出的长度是负数,将会被收束成0
  • beginend 是负数,将会被当做成是从数组末端读取的索引

需要注意的是,使用该方法返回的新数组还是建立在原有的 Buffer 之上的,所以,改动数组的内容将会影响到原数组,反之亦然。

 

Examples

 

Using the subarray method

var buffer = new ArrayBuffer(8);
var uint8 = new Uint8Array(buffer);
uint8.set([1,2,3]);

console.log(uint8); // Uint8Array [ 1, 2, 3, 0, 0, 0, 0, 0 ]

var sub = uint8.subarray(0,4);

console.log(sub);   // Uint8Array [ 1, 2, 3, 0 ]

Specifications

Specification Status Comment
Typed Array Specification Obsolete Superseded by ECMAScript 6.
ECMAScript 2015 (6th Edition, ECMA-262)
TypedArray.prototype.subarray
Standard Initial definition in an ECMA standard.
ECMAScript Latest Draft (ECMA-262)
TypedArray.prototype.subarray
Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support 7Edge Full support 14Firefox Full support 4IE Full support 10Opera Full support 11.6Safari Full support 5.1WebView Android Full support 4Chrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support 11.6Safari iOS Full support 4.2Samsung Internet Android Full support Yesnodejs Full support 0.12

Legend

Full support  
Full support

See also

文档标签和贡献者

此页面的贡献者: pea3nut
最后编辑者: pea3nut,