Uint16Array

The Uint16Array typed array represents an array of 16-bit unsigned integers in the platform byte order. If control over byte order is needed, use DataView instead. The contents are initialized to 0. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).

语法

new Uint16Array(); //  ES2017 新加入的
new Uint16Array(length);
new Uint16Array(typedArray);
new Uint16Array(object);
new Uint16Array(buffer [, byteOffset [, length]]);

获取有关构造函数语法和参数的更多信息,访问TypedArray

属性

Uint16Array.BYTES_PER_ELEMENT
返回元素大小的数值. 2 in the case of an Uint16Array.
Uint16Array.length
Static length property whose value is 0. For the actual length (number of elements), see Uint16Array.prototype.length.
Uint16Array.name
Returns the string value of the constructor name. In the case of the Uint16Array type: "Uint16Array".
Uint16Array.prototype
Prototype for the TypedArray objects.

Methods

Uint16Array.from()
Creates a new Uint16Array from an array-like or iterable object. See also Array.from().
Uint16Array.of()
Creates a new Uint16Array with a variable number of arguments. See also Array.of().

Uint16Array prototype

All Uint16Array objects inherit from %TypedArray%.prototype.

Properties

Uint16Array.prototype.constructor
Returns the function that created an instance's prototype. This is the Uint16Array constructor by default.
Uint16Array.prototype.buffer 只读
Returns the ArrayBuffer referenced by the Uint16Array Fixed at construction time and thus read only.
Uint16Array.prototype.byteLength 只读
Returns the length (in bytes) of the Uint16Array from the start of its ArrayBuffer. Fixed at construction time and thus read only.
Uint16Array.prototype.byteOffset 只读
Returns the offset (in bytes) of the Uint16Array from the start of its ArrayBuffer. Fixed at construction time and thus read only.
Uint16Array.prototype.length 只读
Returns the number of elements hold in the Uint16Array. Fixed at construction time and thus read only.

Methods

Uint16Array.prototype.copyWithin()
Copies a sequence of array elements within the array. See also Array.prototype.copyWithin().
Uint16Array.prototype.entries()
Returns a new Array Iterator object that contains the key/value pairs for each index in the array. See also Array.prototype.entries().
Uint16Array.prototype.every()
Tests whether all elements in the array pass the test provided by a function. See also Array.prototype.every().
Uint16Array.prototype.fill()
Fills all the elements of an array from a start index to an end index with a static value. See also Array.prototype.fill().
Uint16Array.prototype.filter()
Creates a new array with all of the elements of this array for which the provided filtering function returns true. See also Array.prototype.filter().
Uint16Array.prototype.find()
Returns the found value in the array, if an element in the array satisfies the provided testing function or undefined if not found. See also Array.prototype.find().
Uint16Array.prototype.findIndex()
Returns the found index in the array, if an element in the array satisfies the provided testing function or -1 if not found. See also Array.prototype.findIndex().
Uint16Array.prototype.forEach()
Calls a function for each element in the array. See also Array.prototype.forEach().
Uint16Array.prototype.includes()
Determines whether a typed array includes a certain element, returning true or false as appropriate. See also Array.prototype.includes().
Uint16Array.prototype.indexOf()
Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found. See also Array.prototype.indexOf().
Uint16Array.prototype.join()
Joins all elements of an array into a string. See also Array.prototype.join().
Uint16Array.prototype.keys()
Returns a new Array Iterator that contains the keys for each index in the array. See also Array.prototype.keys().
Uint16Array.prototype.lastIndexOf()
Returns the last (greatest) index of an element within the array equal to the specified value, or -1 if none is found. See also Array.prototype.lastIndexOf().
Uint16Array.prototype.map()
Creates a new array with the results of calling a provided function on every element in this array. See also Array.prototype.map().
Uint16Array.prototype.move() 未实现
Former non-standard version of Uint16Array.prototype.copyWithin().
Uint16Array.prototype.reduce()
Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also Array.prototype.reduce().
Uint16Array.prototype.reduceRight()
Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also Array.prototype.reduceRight().
Uint16Array.prototype.reverse()
Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also Array.prototype.reverse().
Uint16Array.prototype.set()
Stores multiple values in the typed array, reading input values from a specified array.
Uint16Array.prototype.slice()
Extracts a section of an array and returns a new array. See also Array.prototype.slice().
Uint16Array.prototype.some()
Returns true if at least one element in this array satisfies the provided testing function. See also Array.prototype.some().
Uint16Array.prototype.sort()
Sorts the elements of an array in place and returns the array. See also Array.prototype.sort().
Uint16Array.prototype.subarray()
Returns a new Uint16Array from the given start and end element index.
Uint16Array.prototype.values()
Returns a new Array Iterator object that contains the values for each index in the array. See also Array.prototype.values().
Uint16Array.prototype.toLocaleString()
Returns a localized string representing the array and its elements. See also Array.prototype.toLocaleString().
Uint16Array.prototype.toString()
Returns a string representing the array and its elements. See also Array.prototype.toString().
Uint16Array.prototype[@@iterator]()
Returns a new Array Iterator object that contains the values for each index in the array.

Examples

创建 Uint16Array的不同方法:

// From a length
var uint16 = new Uint16Array(2);
uint16[0] = 42;
console.log(uint16[0]); // 42
console.log(uint16.length); // 2
console.log(uint16.BYTES_PER_ELEMENT); // 2

// From an array
var arr = new Uint16Array([21,31]);
console.log(arr[1]); // 31

// From another TypedArray
var x = new Uint16Array([21, 31]);
var y = new Uint16Array(x);
console.log(y[0]); // 21

// From an ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint16Array(buffer, 0, 4);

// From an iterable
var iterable = function*(){ yield* [1,2,3]; }(); 
var uint16 = new Uint16Array(iterable); 
// Uint16Array[1, 2, 3]

Specifications

Specification Status Comment
Typed Array Specification Obsolete Superseded by ECMAScript 2015.
ECMAScript 2015 (6th Edition, ECMA-262)
TypedArray constructors
Standard Initial definition in an ECMA standard. Specified that new is required.
ECMAScript Latest Draft (ECMA-262)
TypedArray constructors
Draft ECMAScript 2017 changed the Uint16Array constructor to use the ToIndex operation and allows constructors with no arguments.

Browser compatibility

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
Uint16Array Chrome Full support 7 Edge Full support 12 Firefox Full support 4 IE Full support 10 Opera Full support 11.6 Safari Full support 5.1 WebView Android Full support 4 Chrome Android Full support 18 Firefox Android Full support 4 Opera Android Full support 12 Safari iOS Full support 4.2 Samsung Internet Android Full support Yes nodejs Full support 0.10
Constructor without arguments Chrome Full support 7 Edge Full support 12 Firefox Full support 55 IE Full support 10 Opera Full support Yes Safari Full support 5.1 WebView Android Full support ≤37 Chrome Android Full support 18 Firefox Android Full support 55 Opera Android Full support Yes Safari iOS Full support 5 Samsung Internet Android Full support 1.0 nodejs ?
Iterable in constructor Chrome Full support 39 Edge Full support 14 Firefox Full support 52 IE No support No Opera Full support 26 Safari ? WebView Android Full support 39 Chrome Android Full support 39 Firefox Android Full support 52 Opera Android Full support 26 Safari iOS ? Samsung Internet Android Full support 4.0 nodejs Full support 4.0.0
Uint16Array() without new throws Chrome Full support 7 Edge Full support 14 Firefox Full support 44 IE No support No Opera Full support Yes Safari Full support 5.1 WebView Android Full support ≤37 Chrome Android Full support 18 Firefox Android Full support 44 Opera Android Full support Yes Safari iOS Full support 5 Samsung Internet Android Full support 1.0 nodejs Full support 0.12

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

Compatibility notes

Starting with ECMAScript 2015, Uint16Array constructors require to be constructed with a TypeError from now on.

var dv = Uint16Array([1, 2, 3]);
// TypeError: calling a builtin Uint16Array constructor
// without new is forbidden
var dv = new Uint16Array([1, 2, 3]);

See also