⊗jsSpDtIPCh 293 of 294 menu

JavaScript-da id bo‘yicha bitta xususiyatni o‘zgartirish

Siz butun ob'ektni emas, balki ma'lum bir xususiyatni o‘zgartirishingiz kerak bo‘lishi mumkin. Keling, buni qanday qilishni ko‘rib chiqaylik.

Faraz qilaylik, arr o‘zgaruvchisida ob'ektlar massivi mavjud:

let arr = [ { id: 'GYi9GauC4gBF1e2SixDvu', prop1: 'value11', prop2: 'value12', prop3: 'value13', }, { id: 'IWSpfBPSV3SXgRF87uO74', prop1: 'value21', prop2: 'value22', prop3: 'value23', }, { id: 'JAmjRlfQT8rLTm5tG2m1L', prop1: 'value31', prop2: 'value32', prop3: 'value33', }, ];

Faraz qilaylik, o‘zgaruvchilarda elementning id si, o‘zgartiriladigan xususiyat nomi va xususiyatning yangi qiymati saqlanadi:

let id = 'IWSpfBPSV3SXgRF87uO74'; let prop = 'prop1'; let value = '!!!';

Muammoni hal qilish uchun destrukturizatsiyadan va hisoblanadigan xususiyat nomlaridan foydalanish qulay:

let res = arr.map(elem => { if (elem.id === id) { return {...elem, [prop]: value}; } else { return elem; } });

Quyidagi o‘zgaruvchilar berilgan:

let id = 'JAmjRlfQT8rLTm5tG2m1L'; let prop = 'prop2';

Tugma yarating, unga bosilganda massivning ko‘rsatilgan id ga ega elementi olinadi, undan ko‘rsatilgan nomdagi xususiyat olinadi va shu xususiyat qiymatining oxiriga '!' belgisi qo‘shiladi.

Faraz qilaylik, ikkita xususiyat nomli o‘zgaruvchi berilgan:

let id = 'JAmjRlfQT8rLTm5tG2m1L'; let prop1 = 'prop2'; let prop2 = 'prop3';

Oldingi vazifani shunday o‘zgartiringki, bir marta bosishda o‘zgartirishlar ikki ko‘rsatilgan xususiyat uchun bir vaqtning o‘zida bajarilsin.

Nazariyada keltirilgan yechimni Object.assign yordamida ob'ektni nusxalash orqali qayta yozing.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish