JavaScript 中有布林型別陣列嗎?


在本教程中,我們將學習 JavaScript 中是否存在布林型別陣列。

型別化陣列與陣列類似,我們可以使用它來讀取或寫入原始二進位制資料。與傳統方法相比,它對於攜帶包含大量資料(如音訊或影片)的高階資訊非常有用,可以快速傳輸且不會失真。機器只能理解 0 和 1。型別化陣列將資訊儲存在二進位制資料的陣列中。因此,更容易在兩端之間傳輸資料。

現在回到問題 - JavaScript 中有布林型別陣列嗎?

沒有,布林型別陣列不存在。JavaScript 支援以下型別化陣列:

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

如上所示,型別化陣列僅適用於各種大小的整數和浮點數。因此,JavaScript 中沒有布林型別陣列。但是,我們可以使用 TypedArray 物件將布林值轉換為二進位制資料。

因此,讓我們看看如何在 JavaScript 中將布林值轉換為二進位制資料。

以下是我們可以將布林值轉換為 JavaScript 中的二進位制資料的方法

  • 使用 Int8Array 方法

  • 使用 ArrayBuffer 物件

使用 Int8Array() 方法

Int8Array 是一種型別化陣列,它以二進位制形式表示 8 位有符號整數。它的範圍是從整數 -128 到 127,每個元素佔用 1 個位元組的空間。

使用者可以按照以下語法使用 Typed 陣列物件的 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 物件或型別化陣列來訪問此物件內部的內容。這些物件用於處理 ArrayBuffers。

使用者可以按照以下語法在 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 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.