--- title: Uint32Array slug: Web/JavaScript/Reference/Global_Objects/Uint32Array translation_of: Web/JavaScript/Reference/Global_Objects/Uint32Array ---
{{JSRef("Global_Objects", "TypedArray", "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array")}}

Uint32Array 表示一个由基于平台字节序的32位无符号字节组成的数组。如果需要对字节顺序进行控制(译者注:即 littleEndian 或 bigEndian),请使用 {{jsxref("DataView")}} 代替。数组中每个元素的初始值都是0。一旦创建,你可以用对象的方法引用数组里的元素,或者使用标准的数组索引语法(即,使用中括号)。

语法

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

更多的构造器语法和属性请参照 TypedArray

属性

{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Uint32Array.BYTES_PER_ELEMENT")}}
返回一个数值,代表Uint32Array中单个元素的字节大小。Uint32Array 返回 4
Uint32Array.length
固定值(static)属性,值为3。使用 {{jsxref("TypedArray.prototype.length", "Uint32Array.prototype.length")}} 获得数组的真实长度(元素个数)。
{{jsxref("TypedArray.name", "Uint32Array.name")}}
返回字符串类型的值,表示构造器的名字。Uint32Array 的返回值是: "Uint32Array"。
{{jsxref("TypedArray.prototype", "Uint32Array.prototype")}}
TypedArray 对象的原型链。

方法

{{jsxref("TypedArray.from", "Uint32Array.from()")}}
从类似数组或者可迭代对象创建一个新的 Uint32Array 。请参考 {{jsxref("Array.from()")}}.
{{jsxref("TypedArray.of", "Uint32Array.of()")}}
从可变长度的参数创建一个新的 Uint32Array 。请参考 {{jsxref("Array.of()")}}.

Uint32Array 原型

所有 Uint32Array 对象继承自 {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}.

属性

Uint32Array.prototype.constructor
返回创建实例原型的函数。 默认返回 Uint32Array 的构造器。
{{jsxref("TypedArray.prototype.buffer", "Uint32Array.prototype.buffer")}} {{readonlyInline}}
返回 Uint32Array引用的 {{jsxref("ArrayBuffer")}}。 由于构造时已固定,所以是只读的
{{jsxref("TypedArray.prototype.byteLength", "Uint32Array.prototype.byteLength")}} {{readonlyInline}}
返回从其 {{jsxref("ArrayBuffer")}} 开始的 Uint32Array 字节长度。由于构造时已固定,所以是只读的
{{jsxref("TypedArray.prototype.byteOffset", "Uint32Array.prototype.byteOffset")}} {{readonlyInline}}
返回从其 {{jsxref("ArrayBuffer")}} 的偏移开始的 Uint32Array 字节长度。由于构造时已固定,所以是只读的
{{jsxref("TypedArray.prototype.length", "Uint32Array.prototype.length")}} {{readonlyInline}}
返回 Uint32Array  中元素的个数。由于构造时已固定,所以是只读的

方法

{{jsxref("TypedArray.copyWithin", "Uint32Array.prototype.copyWithin()")}}
拷贝(浅拷贝)数组的部分元素到本数组的不同位置(不改变数组的大小)。请参考 {{jsxref("Array.prototype.copyWithin()")}}。
{{jsxref("TypedArray.entries", "Uint32Array.prototype.entries()")}}
返回一个 Array Iterator 对象,该对象包含数组中每一对索引的键值对。请参考 {{jsxref("Array.prototype.entries()")}}。
{{jsxref("TypedArray.every", "Uint32Array.prototype.every()")}}
测试是否数组中的所有元素都通过给定的测试函数。请参考 {{jsxref("Array.prototype.every()")}}。
{{jsxref("TypedArray.fill", "Uint32Array.prototype.fill()")}}
使用静态值填充从起始下标到终止下标的数组元素。请参考 {{jsxref("Array.prototype.fill()")}}。
{{jsxref("TypedArray.filter", "Uint32Array.prototype.filter()")}}
创造一个新数组,含有原数组中可通过给定的过滤器函数的所有元素。请参考 {{jsxref("Array.prototype.filter()")}}。
{{jsxref("TypedArray.find", "Uint32Array.prototype.find()")}}
如果数组中的元素满足提供的测试函数,返回找到的值,如果没有找到则返回 undefined。请参考 {{jsxref("Array.prototype.find()")}}。
{{jsxref("TypedArray.findIndex", "Uint32Array.prototype.findIndex()")}}
如果数组中的元素满足提供的测试函数,返回找到的下标,如果没有找到则返回 -1。请参考 {{jsxref("Array.prototype.findIndex()")}}。
{{jsxref("TypedArray.forEach", "Uint32Array.prototype.forEach()")}}
对数组内的每个元素调用一个函数。请参考 {{jsxref("Array.prototype.forEach()")}}。
{{jsxref("TypedArray.includes", "Uint32Array.prototype.includes()")}}
判断该数组是否包含特定值,如果包含返回 true,否则返回false。请参考 {{jsxref("Array.prototype.includes()")}}。
{{jsxref("TypedArray.indexOf", "Uint32Array.prototype.indexOf()")}}
返回数组中等于特定值的第一个元素(下标最小)的下标,如果没有找到则返回 -1。请参考 {{jsxref("Array.prototype.indexOf()")}}。
{{jsxref("TypedArray.join", "Uint32Array.prototype.join()")}}
将数组内的元素拼接成一个字符串。请参考 {{jsxref("Array.prototype.join()")}}。
{{jsxref("TypedArray.keys", "Uint32Array.prototype.keys()")}}
返回一个 Array Iterator 对象,该对象包含数组中所有索引(key)。请参考 {{jsxref("Array.prototype.keys()")}}。
{{jsxref("TypedArray.lastIndexOf", "Uint32Array.prototype.lastIndexOf()")}}
返回数组中等于特定值的最后一个元素(下标最大)的下标,如果没有找到则返回 -1。请参考 {{jsxref("Array.prototype.lastIndexOf()")}}。
{{jsxref("TypedArray.map", "Uint32Array.prototype.map()")}}
用该数组的每个元素调用给定函数的结果创建新数组。请参考 {{jsxref("Array.prototype.map()")}}。
{{jsxref("TypedArray.reduce", "Uint32Array.prototype.reduce()")}}
对累加器和数组的每个值应用函数(从左到右),使其归约为单一的值。请参考 {{jsxref("Array.prototype.reduce()")}}。
{{jsxref("TypedArray.reduceRight", "Uint32Array.prototype.reduceRight()")}}
对累加器和数组的每个值应用函数(从右到左),使其归约为单一的值。请参考 {{jsxref("Array.prototype.reduceRight()")}}。
{{jsxref("TypedArray.reverse", "Uint32Array.prototype.reverse()")}}
翻转数组中的元素顺序——首尾颠倒。请参考 {{jsxref("Array.prototype.reverse()")}}。
{{jsxref("TypedArray.set", "Uint32Array.prototype.set()")}}
从一个给定的数组中读取多个数据并存储至 typed array。
{{jsxref("TypedArray.slice", "Uint32Array.prototype.slice()")}}
提取数组的某个部分并返回新的数组。请参考 {{jsxref("Array.prototype.slice()")}}。
{{jsxref("TypedArray.some", "Uint32Array.prototype.some()")}}
测试是否数组中有(至少一个)元素可通过给定的测试函数。请参考 {{jsxref("Array.prototype.some()")}}。
{{jsxref("TypedArray.sort", "Uint32Array.prototype.sort()")}}
就地排序数组中的元素,并返回该数组。请参考 {{jsxref("Array.prototype.sort()")}}。
{{jsxref("TypedArray.subarray", "Uint32Array.prototype.subarray()")}}
根据给定的起始和结束元素下标,返回一个新的 Uint32Array 子数组。
{{jsxref("TypedArray.values", "Uint32Array.prototype.values()")}}
返回新的 Array Iterator 对象,其含有数组中每个索引的值。请参考 {{jsxref("Array.prototype.values()")}}。
{{jsxref("TypedArray.toLocaleString", "Uint32Array.prototype.toLocaleString()")}}
返回表示数组及其元素的本地化字符串。请参考 {{jsxref("Array.prototype.toLocaleString()")}}。
{{jsxref("TypedArray.toString", "Uint32Array.prototype.toString()")}}
返回表示数组及其元素的字符串。请参考 {{jsxref("Array.prototype.toString()")}}。
{{jsxref("TypedArray.@@iterator", "Uint32Array.prototype[@@iterator]()")}}
返回新的 Array Iterator 对象,其含有数组中每个索引的值。

示例

用不同的方法创建 Uint32Array

// 给定长度
var uint32 = new Uint32Array(2);
uint32[0] = 42;
console.log(uint32[0]); // 42
console.log(uint32.length); // 2
console.log(uint32.BYTES_PER_ELEMENT); // 4

// 给定数组
var arr = new Uint32Array([21, 31]);
console.log(arr[1]); // 31

// 给定 TypedArray
var x = new Uint32Array([21, 31]);
var y = new Uint32Array(x);
console.log(y[0]); // 21

// 给定 ArrayBuffer
var buffer = new ArrayBuffer(16);
var z = new Uint32Array(buffer, 0, 4);

// 给定可迭代对象
var iterable = function*(){ yield* [1, 2, 3]; }();
var uint32 = new Uint32Array(iterable);
// Uint32Array[1, 2, 3]

规范

Specification
{{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}}

浏览器兼容性

{{Compat("javascript.builtins.Uint32Array")}}

相关链接