JavaScript 中有布尔类型数组吗?


在本教程中,我们将学习 JavaScript 中是否存在布尔类型数组。

类型数组与数组类似,但我们可以用它来读取或写入原始二进制数据。与传统方法相比,它对于快速传输包含大量数据(如音频或视频)的高级信息且不会失真非常有用。机器只能理解 0 和 1。类型数组将信息保存为二进制数据的数组。因此,数据传输变得更容易。

现在回到问题——JavaScript 中有布尔类型数组吗?

没有,JavaScript 中不存在布尔类型数组。JavaScript 支持以下类型数组:

  • Int8Array
  • Uint8Array
  • Uint8ClampedArray
  • Int16Array
  • Uint16Array
  • Int32Array
  • Uint32Array
  • Float32Array
  • Float64Array

如上所示,类型数组仅适用于各种大小的整数和浮点数。因此,JavaScript 中没有布尔类型数组。但是,我们可以使用 TypedArray 对象将布尔值转换为二进制数据。

因此,让我们看看如何在 JavaScript 中将布尔值转换为二进制数据。

以下是我们可以将布尔值转换为 JavaScript 中的二进制数据的方法

  • 使用 Int8Array 方法

  • 使用 ArrayBuffer 对象

使用 Int8Array() 方法

Int8Array 是一种类型数组,它以二进制形式表示 8 位有符号整数。它的范围是从整数 -128 到 127,每个元素占用 1 个字节的空间。

用户可以按照以下语法使用类型数组对象的 Int8Array 方法。

语法

var bool = [  ];
var typedArr = new Int8Array( bool );

按照上述语法将布尔值转换为二进制数据。

示例

在下面的示例中,我们创建了一个布尔值数组。我们将此数组作为参数传递给 Int8Array 方法。它返回一个新数组,其中 true 值转换为 1,false 值转换为 0。然后,我们必须使用 BYTES_PER_ELEMENT 属性查找数组中每个元素占用的内存空间。

<html> <body> <h2> Using the <i> Int8Array() </i> method to convert the boolean values into a binary data </h2> <div id="div"> </div> <script> var array = [true, false, true, true, false, true]; var para = document.createElement('p'); para.innerHTML = "Elements in an array: " + array; // para.style.color = "red"; document.getElementById("div").appendChild(para); var typedArr = new Int8Array(array); var para = document.createElement('p'); para.innerHTML = "Array with a binary representation: " + typedArr + "<br> Space taken by every element:" + typedArr.BYTES_PER_ELEMENT; // para.style.color = "red"; document.getElementById("div").appendChild(para); </script> </body> </html>

在上面的示例中,用户可以看到我们使用了 Int8Array() 方法将布尔值转换为二进制数据。

使用 ArrayBuffer 对象

我们可以将 ArrayBuffer 称为用于存储原始二进制数据的容器。我们必须使用 Dataview 对象或类型数组来访问此对象内部的内容。这些对象用于处理 ArrayBuffer。

用户可以按照以下语法在 JavaScript 中使用 ArrayBuffer 对象。

语法

var variable1 = new ArrayBuffer(16);
var variable2 = new Int8Array(variable1);
variable2[0] = <True or false> ;
//print variable2[0]

按照上述语法将布尔值转换为 JavaScript 中的二进制数据。

示例

在下面的示例中,我们使用了 ArrayBuffer 来创建原始二进制数据。我们使用了类型数组来访问缓冲区。我们将布尔值添加到数组中,打印数组后,我们得到了二进制值。

<html> <body> <h2> Using the <i> ArrayBuffer object </i> to convert the boolean values into a binary data </h2> <div id="div"> </div> <script> var buffer = new ArrayBuffer(16); var binary = new Int8Array(buffer); binary[0] = true; binary[1] = false; var para = document.createElement('p'); para.innerHTML = "representation for true: " + binary[0].toString() + "<br> representation for false: " + binary[1].toString(); para.style.color = "red"; document.getElementById("div").appendChild(para); </script> </body> </html>

在上面的示例中,用户可以看到,通过使用 ArrayBuffer 和类型数组,我们将布尔值转换为二进制数据。在本教程中,我们了解到 JavaScript 中没有布尔类型数组。但是,我们仍然可以将布尔值转换为二进制数据。

更新于:2022年11月15日

295 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告