📜  JavaScript | Unit16Array.from() 方法(1)

📅  最后修改于: 2023-12-03 15:16:08.323000             🧑  作者: Mango

JavaScript | Unit16Array.from() 方法

简介

Array.from() 方法是 ES6 中用于将一个类数组对象或可迭代对象转换成一个新的数组对象的方法。Unit16Array.from() Array.from() 的一种变体,是用来创建一个由一段存放在 Unit16Array 中的 16 位无符号整数值的数组的方法。 Unit16Array 数组的成员都是无符号 16 位整数(即 065535 之间的整数)

语法
Unit16Array.from(arrayLike, mapFn?, thisArg?)
  • arrayLike:将要转换成数组的类数组对象或可迭代对象。
  • mapFn(可选):映射函数。
  • thisArg(可选):执行 mapFnthis 的值。
参数
arrayLike

一个类数组对象或可迭代对象。

mapFn

(可选)映射函数,用来对每个元素进行映射处理。

thisArg

(可选)执行 mapFn 时使用的 this 值。

返回值

一个新的 Uint16Array 数组对象。

示例
示例一:使用map函数映射数组中的值
const u16 = new Uint16Array([1, 2, 3]);
const result = Uint16Array.from(u16, x => x + x);
// 输出: Uint16Array [ 2, 4, 6 ]

在这个例子中,我们首先创建了一个 Uint16Array 数组,并将其赋为 [1, 2, 3]。接下来,我们使用 Uint16Array.from 方法将其转换成一个新的 Uint16Array 数组,其中每一个元素都是原来数组中对应位置的两倍。在本例中,传入的第二个参数 x => x + x 将数组中的每个值都映射成了两倍。

示例二:使用Set数据结构创建新数组
const set = new Set(['foo', 'bar', 'baz']);
const result = Uint16Array.from(set, x => x.length);
// 输出: Uint16Array [ 3, 3, 3 ]

在这个例子中,我们首先创建了一个 Set 数据结构,并使用字符串数组 ['foo', 'bar', 'baz'] 来初始化它。接下来,我们使用 Uint16Array.from 方法将其转换成一个新的 Uint16Array 数组,其中每个元素都是对应字符串的长度。在本例中,传入的第二个参数 x => x.lengthSet 数据结构中的每个字符串的长度作为了新数组中对应位置的元素。

注意事项
  1. Unit16Array.from() 方法返回的数组对象是 Uint16Array 类型,因此只能存放无符号16位整数值,如果需要存放其他类型的值则需要使用其他类型的数组。
  2. Unit16Array.from() 方法不改变原有的数组,始终返回一个新的 Uint16Array 数组对象。