JavaScript类型的数组是类似于数组的对象,并提供了一种用于访问原始二进制数据的机制。
数组对象会动态增长和收缩,并且可以具有任何JavaScript值。JavaScript引擎执行优化,以便这些数组快速。
注意-类型化数组不要与普通数组混淆,因为在类型化数组上调用Array.isArray()会返回false。此外,类型数组并不支持所有适用于普通数组的方法
JavaScript类型的数组是使用缓冲区和视图实现的。
缓冲区是代表数据块的对象;它没有格式可言,也没有提供访问其内容的机制。
为了访问缓冲区中包含的内存,您需要使用一个视图。视图提供了数据类型,起始偏移量和元素数量,这些数据将数据转换为类型化数组。
// create a buffer with a fixed length of 16-bytes let buffer = new ArrayBuffer(16); //在真正使用此缓冲区之前,我们需要创建一个视图。 //让我们创建一个视图,将缓冲区中的数据视为32位有符号整数的数组: let int32View = new Int32Array(buffer); //我们可以像访问普通数组一样访问数组中的字段 for (let i = 0; i < int32View.length; i++) { int32View[i] = i * 2; } console.log(int32View);
输出结果
Int32Array { [Iterator] 0: 0, 1: 2, 2: 4, 3: 6 }