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

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

JavaScript | Uint8Array.from() 方法

简介

在 JavaScript 中,Uint8Array.from() 方法用于从一种可迭代对象或类数组对象中创建一个新的 Uint8Array 对象。

Uint8Array 是一个由 8 位无符号整数组成的数组类型,它的每个元素占用一个字节(8 位)。Uint8Array.from() 方法将一个可迭代对象或类数组对象转换为一个 Uint8Array 对象。

语法

Uint8Array.from() 方法的语法如下所示:

Uint8Array.from(source[, mapFn[, thisArg]])

参数说明:

  • source:要转换的可迭代对象或类数组对象。
  • mapFn(可选):一个用来操作源对象每个元素的函数。可以返回一个新的元素值或返回对元素的操作结果。
  • thisArg(可选):执行 mapFn 时使用的 this 值。
返回值

如果转换成功,则 Uint8Array.from() 方法返回一个新的 Uint8Array 对象,其元素值由源对象的每个元素值构成。如果源对象为空,则返回一个空的 Uint8Array 对象。

代码示例
const arr = [1, 2, 3, 4];
const uint8Arr = Uint8Array.from(arr);

console.log(uint8Arr); // Uint8Array(4) [1, 2, 3, 4]

const str = 'Hello, World!';
const uint8Str = Uint8Array.from(str, c => c.charCodeAt(0));

console.log(uint8Str); // Uint8Array(13) [72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33]

在上面的示例中,我们使用 Uint8Array.from() 方法将一个数组和一个字符串转换为 Uint8Array 对象。在第一个示例中,我们使用了一个简单的数组作为源对象,Uint8Array.from() 方法会将数组的每个元素都转换为 Uint8Array 中的一个元素。在第二个示例中,我们使用了一个字符串作为源对象,并提供了一个自定义的 mapFn 函数,该函数将字符串中的每个字符转换为 ASCII 码值。

总结

在本文中,我们介绍了 Uint8Array.from() 方法的用法,包括其语法和参数。我们还提供了一些代码示例来说明如何使用此方法。如果想要将一个可迭代对象或类数组对象转换为一个 Uint8Array 对象,Uint8Array.from() 方法是一个非常实用的工具。