📅  最后修改于: 2023-12-03 15:16:08.323000             🧑  作者: Mango
Array.from()
方法是 ES6 中用于将一个类数组对象或可迭代对象转换成一个新的数组对象的方法。Unit16Array.from()
是 Array.from()
的一种变体,是用来创建一个由一段存放在 Unit16Array
中的 16 位无符号整数值的数组的方法。 Unit16Array
数组的成员都是无符号 16 位整数(即 0
至 65535
之间的整数)
Unit16Array.from(arrayLike, mapFn?, thisArg?)
arrayLike
:将要转换成数组的类数组对象或可迭代对象。mapFn
(可选):映射函数。thisArg
(可选):执行 mapFn
时 this
的值。一个类数组对象或可迭代对象。
(可选)映射函数,用来对每个元素进行映射处理。
(可选)执行 mapFn
时使用的 this
值。
一个新的 Uint16Array
数组对象。
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
将数组中的每个值都映射成了两倍。
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.length
将 Set
数据结构中的每个字符串的长度作为了新数组中对应位置的元素。
Unit16Array.from()
方法返回的数组对象是 Uint16Array
类型,因此只能存放无符号16位整数值,如果需要存放其他类型的值则需要使用其他类型的数组。Unit16Array.from()
方法不改变原有的数组,始终返回一个新的 Uint16Array
数组对象。