Sobes.tech
Junior

Kokios duomenų struktūros egzistuoja JavaScript?

sobes.tech AI

Atsakymas iš AI

Paprasti duomenų tipai: String (eilutės), Number (skaičiai), BigInt (dideliai sveikieji skaičiai), Boolean (loginis tipas), Undefined (neapibrėžta reikšmė), Symbol (simboliai), Null (tuščia reikšmė).

Sudėtingos duomenų struktūros:

  • Object (objektas): raktų-vertės porų kolekcija.
    // Paprastas objektas
    const user = {
      name: 'Ivanas',
      age: 30
    };
    
  • Array (masyvas): elementų tvarkingas kolekcija.
    // Skaičių masyvas
    const numbers = [1, 2, 3, 4, 5];
    
  • Map (žemėlapis): raktų-vertės porų kolekcija, kur raktai gali būti bet kokio tipo duomenys ir išlaiko įterpimo tvarką.
    // Skirtingų tipų raktai
    const map = new Map();
    map.set('name', 'Petras');
    map.set(1, 'skaičius');
    
  • Set (rinkinys): unikalių reikšmių kolekcija bet kokio tipo duomenų.
    // Unikalių skaičių rinkinys
    const set = new Set([1, 2, 2, 3, 4, 4]); // Turės [1, 2, 3, 4]
    
  • Typed Arrays (tipizuoti masyvai): fiksuoto ilgio masyvai, kurių elementai turi tam tikrą skaitmeninį tipą (pvz., Int8Array, Uint8Array, Float32Array).
    // Tipizuotas baitų masyvas
    const byteArray = new Uint8Array([10, 20, 30]);
    
  • WeakMap (silpnas žemėlapis): panašus į Map, bet jo raktai turi būti objektai, ir jie nesustabdo surinkėjo ištrinti susijusius objektus.
    // Silpnas žemėlapis
    const weakMap = new WeakMap();
    const obj1 = {};
    weakMap.set(obj1, 'duomenys 1');
    
  • WeakSet (silpnas rinkinys): panašus į Set, bet jo elementai turi būti objektai, ir jie nesustabdo surinkėjo ištrinti juos.
    // Silpnas rinkinys
    const weakSet = new WeakSet();
    const obj2 = {};
    weakSet.add(obj2);
    

Taip pat yra struktūrų, naudojamų žemiau lygio API arba reprezentuojančių specialius objektus:

  • ArrayBuffer: reprezentuoja universalų, fiksuotos ilgio dvejetainį buferį.
  • DataView: suteikia žemyn lygio sąsają skaityti ir rašyti skaitinius duomenis ArrayBuffer, leidžiant kontroliuoti poslinkius ir baitų tvarką.