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 中没有布尔类型数组。但是,我们仍然可以将布尔值转换为二进制数据。