Objektų netvarkingumas JavaScript
Kaip jau žinote, masyvuose elementai yra išdėstyti griežta tvarka, nes kiekvieno elemento pozicija apibrėžia jo raktą. Objektuose mes patys priskiriame raktus, todėl elementų eiliškumas neturi reikšmės. Tai yra, masyvai yra sutvarkyti sąrašai, o objektai - ne.
Pavyzdžiui, panagrinėkime šį objektą:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // išves 'a'
console.log(obj[2]); // išves 'b'
console.log(obj[3]); // išves 'c'
Jei pertvarkysite šio objekto elementus bet kokia tvarka (žinoma, kartu su jų raktais), tai niekas nepakeis mūsų scenarijaus veikimo:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // išves 'a'
console.log(obj[2]); // išves 'b'
console.log(obj[3]); // išves 'c'
Be to, skaitiniams raktams nebūtinai turi būti visos reikšmės be skylių, kaip masyve. Mes galime turėti bet kokius skaičius ir tai nesukels jokių problemų (panašiai kaip retumas masyvuose). Todėl šis objektas yra teisingas:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Sukurkite objektą ir įsitikinkite, kad raktų tvarka jame neturi reikšmės.