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 duomenisArrayBuffer, leidžiant kontroliuoti poslinkius ir baitų tvarką.