Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

มี Boolean Typed Array ใน JavaScript หรือไม่

ไม่มี Boolean Typed Array ใน JavaScript

JavaScript รองรับ Typed Arrays เฉพาะสำหรับตัวเลข:

  • Int8Array – 8-bit signed integer (-128 to 127)
  • Uint8Array – 8-bit unsigned integer (0 to 255)
  • Uint8ClampedArray – 8-bit unsigned clamped (0-255, clamp on overflow)
  • Int16Array – 16-bit signed integer
  • Uint16Array – 16-bit unsigned integer
  • Int32Array – 32-bit signed integer
  • Uint32Array – 32-bit unsigned integer
  • Float32Array32-bit floating point Float64Array64-bit floating point (เท่ากับ Number)

Typed arrays ทั้งหมดเป็น integer หรือ float ขนาดต่างๆ ไม่มี boolean

ทางเลือกสำหรับ Boolean Array

วิธีคำอธิบายMemory
Normal Array[true, false, true]สูง (object per element)
Uint8Arraynew Uint8Array([1,0,1]) (0=false, 1=true)ต่ำมาก (1 byte/element)
BitArray (custom)เก็บใน bits ของ integerต่ำสุด (1 bit/element)
BigIntใช้ bitwise operationsต่ำ (arbitrary precision)

ตัวอย่าง Uint8Array เป็น Boolean

var flags = new Uint8Array(100); // 100 bytes, ทั้งหมด 0 (false)
flags[0] = 1;  // true
flags[50] = 1; // true

// นับ true
var count = flags.reduce((sum, v) => sum + v, 0);

// Toggle
flags[10] ^= 1; // 0→1, 1→0