JavaScript Obyekt Iteratsiyasi
JavaScript obyekt xususiyatlari bo'ylab aylanish (iteratsiya) uchun bir nechta zamonaviy metodlarni taqdim etadi.
Zamonaviy Iteratsiya Metodlari
Asosiy metodlar
Object.entries(object)— [kalit, qiymat] juftliklari massivini qaytaradi.Object.keys(object)— kalitlar (nomlar) massivini qaytaradi.Object.values(object)— qiymatlar massivini qaytaradi.Object.groupBy(iterable, callback)— elementlarni guruhlash uchun ishlatiladi.
Object.entries()
Object.entries() metodi obyektning har bir xususiyati uchun [key, value] ko'rinishidagi massivlardan tashkil topgan katta massiv qaytaradi.
Misol
const person = {
firstName: 'John',
lastName: 'Doe',
age: 50
}
let text = ''
for (let [x, y] of Object.entries(person)) {
text += x + ': ' + y + '<br>'
}Object.entries() yordamida obyektni Map-ga aylantirish ham juda oson:
const myMap = new Map(Object.entries(person))Object.values()
Object.values() xuddi Object.entries() kabi ishlaydi, lekin faqat xususiyatlarning qiymatlarini qaytaradi.
Misol
const person = {
firstName: 'John',
lastName: 'Doe',
age: 50
}
const myArray = Object.values(person)
// ["John", "Doe", 50]Object.keys()
Object.keys() metodi obyektning barcha sanaladigan (enumerable) xususiyat nomlarini massiv sifatida qaytaradi.
Misol
const keys = Object.keys(person)
// ["firstName", "lastName", "age"]for...in tsikli
Bu tsikl obyektning xususiyatlari bo'ylab aylanishning eng qadimgi va klassik usulidir.
Misol
for (let x in person) {
text += person[x]
}Object.groupBy() (ES2024+)
Object.groupBy() — bu JavaScript-ga yaqinda qo'shilgan juda kuchli metod bo'lib, u elementlarni berilgan kriteriy bo'yicha guruhlaydi.
Misol
const fruits = [
{ name: 'olma', quantity: 300 },
{ name: 'banan', quantity: 500 },
{ name: 'apelsin', quantity: 200 },
{ name: 'nok', quantity: 400 }
]
// Miqdori bo'yicha guruhlash
const result = Object.groupBy(fruits, ({ quantity }) => {
return quantity > 300 ? "ko'p" : 'kam'
})