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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告