JS for in sikli
for in sikli
for...in sikli obyektning sanab o‘tiladigan (enumerable) xususiyatlari bo‘ylab iteratsiya qiladi.
for...in sikli asosan obyektlarning xususiyat nomlariga (kalitlariga) murojaat qilish uchun ishlatiladi.
Sintaksis
for (key in object) {
// code block to be executed
}
- key
Iteratsiyalar davomida har bir xususiyatning nomini (kalitini) saqlaydigan o‘zgaruvchi - object
Xususiyatlari bo‘ylab iteratsiya qilinayotgan obyekt
JavaScript for in operatori person obyektining xususiyatlari bo‘ylab sikl bajaradi:
Misol
const person = {fname:"John", lname:"Doe", age:25};
let text = "";
for (let x in person) {
text += person[x];
}
O‘zingiz sinab ko‘ring »
Misol izohi
- for in sikli person obyekti bo‘ylab iteratsiya qiladi
- Har bir iteratsiyada x (kalit) qaytariladi
- x yordamida x ning qiymatiga murojaat qilinadi
- x ning qiymati — person[x]
Massivlar bo‘ylab for in sikli
JavaScript for in operatori massiv xususiyatlari bo‘ylab ham sikl bajarishi mumkin:
Sintaksis
for (variable in array) {
code
}
Misol
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x];
}
O‘zingiz sinab ko‘ring »
Boshqaruv oqimi
Boshqa JavaScript sikllaridagi kabi, sikl ichida boshqaruv oqimi operatorlaridan foydalanishingiz mumkin:
break
sikl bajarilishini to‘xtatadi va sikldan keyingi operatorlarga o‘tadicontinue
sikl bajarilishini to‘xtatadi va siklning keyingi iteratsiyasiga o‘tadi
Sanab o‘tiladigan (enumerable) xususiyatlar
for...in sikli faqat sanab o‘tiladigan xususiyatlar bo‘ylab iteratsiya qiladi.
enumerable atributi false qilib o‘rnatilgan xususiyatlar, masalan, ba’zi o‘rnatilgan metodlar yoki Object.defineProperty() yordamida aniqlangan xususiyatlar siklga kiritilmaydi.
Prototiplar zanjiri (prototype chain)
for...in sikli obyektning prototiplar zanjiridan meros qilib olingan sanab o‘tiladigan xususiyatlar bo‘ylab ham iteratsiya qiladi. Bunga yo‘l qo‘ymaslik uchun sikl ichida hasOwnProperty() metodidan foydalanib, xususiyat bevosita obyektning o‘ziga tegishli ekanini tekshirishingiz mumkin.
Agar indekslar tartibi muhim bo‘lsa, massiv bo‘ylab for in’dan foydalanmang.
Indekslar tartibi JavaScript dvigateliga (engine) bog‘liq va massiv qiymatlariga siz kutgan tartibda murojaat qilinmasligi mumkin.
Tartib muhim bo‘lganda for siklidan, for of siklidan yoki Array.forEach() metodidan foydalangan ma’qul.
Array.forEach()
forEach() metodi har bir massiv elementi uchun funksiyani (callback funksiyasini) bir marta chaqiradi.
Misol
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt += value;
}
O‘zingiz sinab ko‘ring »
E’tibor bering, funksiya 3 ta argument qabul qiladi:
- Element qiymati
- Element indeksi
- Massivning o‘zi
Yuqoridagi misolda faqat value parametridan foydalanilgan. Uni quyidagicha qayta yozish mumkin:
Misol
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value) {
txt += value;
}
O‘zingiz sinab ko‘ring »
Shuningdek qarang:
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
