Uint8Array

Uint8Array类型数组表示的8位无符号整数数组。内容被初始化为0。一旦建立,您可以使用对象的方法或使用标准数组索引语法(即使用括号表示法)引用数组中的元素。

语法

new Uint8Array(); // new in ES2017
new Uint8Array(length);
new Uint8Array(typedArray);
new Uint8Array(object);
new Uint8Array(buffer [, byteOffset [, length]]);

有关构造函数语法和参数的更多信息,请参阅TypedArray

属性

Uint8Array.BYTES_PER_ELEMENT返回元素大小的数字值。在Uint8Array.Uint8Array.lengthStatic长度属性的情况下,其值为0.对于实际长度(元素数量),请参阅Uint8Array.prototype.length

Uint8Array.name返回构造函数名称的字符串值。在Uint8Array类型的情况下:“Uint8Array”。TypedArray对象的Uint8Array.prototype原型。

方法

Uint8Array.from()Uint8Array从类似数组或类的对象中创建一个新的对象。另见Array.from()。用可变数量的参数Uint8Array.of()创建一个新Uint8Array的。另见Array.of()

Uint8Array prototype

所有Uint8Array对象都从中继承%TypedArray%.prototype

属性

Uint8Array.prototype.constructor返回创建实例原型的函数。这是Uint8Array默认的构造函数。

Uint8Array.prototype.buffer只读返回固定在施工时ArrayBuffer引用的参考Uint8Array,因此只读

Uint8Array.prototype.byteLength只读返回的长度(以字节为单位)Uint8Array。在构造时固定,因此只读。

Uint8Array.prototype.byteOffset只读返回Uint8Array从其开始的偏移量(以字节为单位)ArrayBuffer。在构造时固定,因此只读。

Uint8Array.prototype.length只读返回保存在元素中的元素的数量Uint8Array。在构造时固定,因此只读。

方法

Uint8Array.prototype.copyWithin()复制数组中的一系列数组元素。另见Array.prototype.copyWithin()

Uint8Array.prototype.entries()返回Array Iterator包含数组中每个索引的键/值对的新对象。另见Array.prototype.entries()

Uint8Array.prototype.every()测试数组中的所有元素是否都通过了函数提供的测试。另见Array.prototype.every()

Uint8Array.prototype.fill()用静态值填充从开始索引到结束索引的数组的所有元素。另见Array.prototype.fill()

Uint8Array.prototype.filter()使用提供的过滤函数返回true的数组的所有元素创建一个新数组。另见Array.prototype.filter()

Uint8Array.prototype.find()如果数组中的元素满足提供的测试函数或者undefined未找到,则返回数组中找到的值。另见Array.prototype.find()

Uint8Array.prototype.findIndex()如果数组中的元素满足提供的测试函数,则返回数组中找到的索引;如果未找到,则返回-1。另见Array.prototype.findIndex()

Uint8Array.prototype.forEach()为数组中的每个元素调用一个函数。另见Array.prototype.forEach()

Uint8Array.prototype.includes()确定类型数组是否包含某个元素,返回true还是false适当的。另见Array.prototype.includes()

Uint8Array.prototype.indexOf()返回数组中等于指定值的元素的第一个(最少)索引,如果没有找到,则返回-1。另见Array.prototype.indexOf()

Uint8Array.prototype.join()将数组的所有元素连接成一个字符串。另见Array.prototype.join()

Uint8Array.prototype.keys()返回Array Iterator包含数组中每个索引的键的新键。另见Array.prototype.keys()

Uint8Array.prototype.lastIndexOf()返回数组中等于指定值的元素的最后一个(最大)索引,如果没有找到,则返回-1。另见Array.prototype.lastIndexOf()

Uint8Array.prototype.map()创建一个新的数组,并在该数组中的每个元素上调用一个提供的函数的结果。另见Array.prototype.map()

Uint8Array.prototype.move()UnimplementedFormer的非标准版本Uint8Array.prototype.copyWithin()

Uint8Array.prototype.reduce()对累加器和数组的每个值应用一个函数(从左到右)以将其减少到单个值。另见Array.prototype.reduce()

Uint8Array.prototype.reduceRight()对累加器和数组的每个值(从右到左)应用一个函数,以将其减少为单个值。另见Array.prototype.reduceRight()

Uint8Array.prototype.reverse()颠倒数组元素的顺序 - 第一个变成最后一个,最后一个变成第一个。另见Array.prototype.reverse()

Uint8Array.prototype.set()在类型数组中存储多个值,从指定的数组读取输入值。

Uint8Array.prototype.slice()提取数组的一部分并返回一个新的数组。另见Array.prototype.slice()

Uint8Array.prototype.some()如果此数组中至少有一个元素满足提供的测试函数,则返回true。另见Array.prototype.some()

Uint8Array.prototype.sort()对数组中的元素进行排序并返回数组。另见Array.prototype.sort()。从给定的开始和结束元素索引中Uint8Array.prototype.subarray()返回一个新Uint8Array的。

Uint8Array.prototype.values()返回Array Iterator包含数组中每个索引值的新对象。另见Array.prototype.values()

Uint8Array.prototype.toLocaleString()返回表示数组及其元素的本地化字符串。另见Array.prototype.toLocaleString()

Uint8Array.prototype.toString()返回表示数组及其元素的字符串。另见Array.prototype.toString()

Uint8Array.prototype[@@iterator]()返回一个新的Array Iterator 包含数组中每个索引值的对象。

示例

不同的方式来创建一个Uint8Array

// From a length
var uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1

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

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

// From an ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);

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

规范

Specification

Status

Comment

Typed Array Specification

Obsolete

Superseded by ECMAScript 6.

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'TypedArray constructors' in that specification.

Standard

Initial definition in an ECMA standard. Specified that new is required.

ECMAScript Latest Draft (ECMA-262)The definition of 'TypedArray constructors' in that specification.

Draft

ECMAScript 2017 changed the Uint8Array constructor to use the ToIndex operation and allows constructors with no arguments.

浏览器兼容性

Feature

Chrome

Edge

Firefox (Gecko)

Internet Explorer

Opera

Safari

Basic support

7.0

(Yes)

4.0 (2)

10

11.6

5.1

new is required

?

?

44 (44)

?

?

?

Iterable in constructor

?

?

52 (52)

?

?

?

Constructor without arguments

?

?

55 (55)

?

?

?

Feature

Android

Chrome for Android

Edge

Firefox Mobile (Gecko)

IE Mobile

Opera Mobile

Safari Mobile

Basic support

4.0

(Yes)

(Yes)

4.0 (2)

10

11.6

4.2

new is required

?

?

?

44.0 (44)

?

?

?

Iterable in constructor

?

?

?

52.0 (52)

?

?

?

Constructor without arguments

?

?

?

55.0 (55)

?

?

?

扫码关注腾讯云开发者

领取腾讯云代金券