- Waxaa la daabacay
Liis-liiska JavaScript: Tilmaame ujeed looguulayaasha buuxa ah
- Qorayaasha
- Magaca
- Imamuzzaki Abu Salam
- https://x.com/ImBIOS_Dev
Maxaad u Isticmaalaa Set?
Set waa qaab xog oo kuu ogolaada in aad kaydiso qiimo gaar ah oo nooc kasta ah. Waxay la mid tahay array, laakiin ma oggola qiimo labanlaab ah. Waa hab fiican oo lagu kaydinayo qiimo gaar ah oo nooc kasta ah. Mararka qaarkood waxaad rabtaa inaad kaydiso qiimo gaar ah oo ku jira array, laakiin ma rabto inaad ku wareegto array si aad u hubiso haddii qiimaha horeba uu jiro. Waa halka Set ay faa'iido u leedahay.
Maqaal hore, waxaan ka wada hadalnay Javascript Map. Set waa la mid Map, laakiin waxay kaliya kaydisaa furaha, ma kaydiso qiimaha. Waa hab fiican oo lagu hayaa qiimo gaar ah oo nooc kasta ah. Waxay aad u adag tahay in la isticmaalo Map kiisas badan. Sidaas awgeed, aan ka hadalno Set.
Set JavaScript Miyuu Yahay?
Shayada Set waa ururinta qiimo. Qiimo ku jira Set waxay ka muuqan kartaa hal mar oo kaliya; waa gaar u ah ururinta Set. Waxaad ku wareegi kartaa qaybaha Set iyadoo loo eegayo habka lagu daray. Nidaamka lagu daray wuxuu u dhigmaa habka lagu daray qayb kasta oo Set lagu daray iyadoo loo marayo habka add() si guul leh (taasi waa, ma jirin qayb la mid ah oo horeba u jirtay Set markii Set la soo wacay add()).
Sharaxaadu waxay u baahan tahay in Set lagu dhaqan geliyo "taas oo, celcelis ahaan, bixisa wakhtiyo helitaan oo hooseeya tirada qaybaha ku jira ururinta." Sidaa darteed, waxaa lagu matali karaa gudaha sida miis hash (oo leh O(1) raadinta), geed raadinta (oo leh O(log(N)) raadinta), ama qaab xog kasta oo kale, inta muddada ay ka fiican tahay O(N).
Sida Loo Abuuro Set?
Waxaa jira laba siyaabood oo lagu abuuro Set. Habka ugu horreeya waa in la isticmaalo Set constructor. Habka labaad waa in la isticmaalo Set object literal.
Set constructor
Set constructor wuxuu abuuraa shay Set cusub. Waxaad ku gudbin kartaa shay iterable sidii dood constructor. Qaybaha shayga iterable waxaa lagu dari doonaa Set cusub.
const set = new Set([1, 2, 3, 4, 5])
Set object literal
Set object literal wuxuu abuuraa shay Set cusub. Waxaad ku gudbin kartaa shay iterable sidii dood object literal. Qaybaha shayga iterable waxaa lagu dari doonaa Set cusub.
const set = {1, 2, 3, 4, 5};
Habka & Sifooyinka Set
Habka | Sharaxaad |
---|---|
add() | Waxay ku dartaa qayb cusub oo leh qiimo la cayimay oo ku jira Set object. |
clear() | Waxay ka saartaa dhammaan qaybaha Set object. |
delete() | Waxay ka saartaa qaybta la xiriirta qiimaha oo waxay soo celisaa qiimaha Set.prototype.has(value) ay hore u soo celisay. Set.prototype.has(value) way soo celin doontaa been ka dib. |
entries() | Waxay soo celisaa shay Iterator cusub oo ku jira array of [value, value] oo loogu talagalay qayb kasta oo ku jirta Set object, iyadoo loo eegayo habka lagu daray. |
forEach() | Waxay fulisaa shaqo la siiyay mar kasta oo loogu talagalay qiimo kasta oo ku jira Set object, iyadoo loo eegayo habka lagu daray. |
has() | Waxay soo celisaa boolean oo xaqiijinaya in qayb la joogo qiimaha la siiyay oo ku jira Set object. |
keys() | Waxay soo celisaa shay Iterator cusub oo ku jira qiimaha qayb kasta oo ku jirta Set object, iyadoo loo eegayo habka lagu daray. |
values() | Waxay soo celisaa shay Iterator cusub oo ku jira qiimaha qayb kasta oo ku jirta Set object, iyadoo loo eegayo habka lagu daray. |
Sifooyinka | Sharaxaad |
---|---|
size | Waxay soo celisaa tirada qiimaha ee ku jira Set object. |
Tusaalooyinka Set
Ku dar qiimo Set
const set = new Set([1, 2, 3, 4, 5])
set.add(6)
console.log(Set) // Set { 1, 2, 3, 4, 5, 6 }
Ka saar qiimo Set
const set = new Set([1, 2, 3, 4, 5])
set.delete(3)
console.log(set) // Set { 1, 2, 4, 5 }
Hubi haddii qiimo uu jiro Set
const set = new Set([1, 2, 3, 4, 5])
console.log(set.has(3)) // true
Ku wareeg Set
const set = new Set([1, 2, 3, 4, 5])
for (const item of Set) {
console.log(item)
}
// 1
// 2
// 3
// 4
// 5
Beddel Set ilaa Array
const set = new Set([1, 2, 3, 4, 5])
const array = Array.from(set)
console.log(array) // [1, 2, 3, 4, 5]
Beddel Array ilaa Set
const Array = [1, 2, 3, 4, 5]
const set = new Set(array)
console.log(Set) // Set { 1, 2, 3, 4, 5 }
Hel cabbirka Set
const set = new Set([1, 2, 3, 4, 5])
console.log(set.size) // 5
Nadiifi Set
const set = new Set([1, 2, 3, 4, 5])
set.clear()
console.log(set) // Set {}
Isku dar Set
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([6, 7, 8, 9, 10])
const set3 = new Set([...set1, ...set2])
console.log(set3) // Set { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
Hel isgoyska laba Set
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([4, 5, 6, 7, 8])
const set3 = new Set([...set1].filter((x) => set2.has(x)))
console.log(set3) // Set { 4, 5 }
Hel faraqa laba Set
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([4, 5, 6, 7, 8])
const set3 = new Set([...set1].filter((x) => !set2.has(x)))
console.log(set3) // Set { 1, 2, 3 }
Hubi haddii Set uu yahay subset of Set kale
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([4, 5])
console.log([...set2].every((x) => set1.has(x))) // true
Hubi haddii Set uu yahay superset of Set kale
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([4, 5])
console.log([...set1].every((x) => set2.has(x))) // false
Hubi haddii laba Set ay yihiin disjoint
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([6, 7, 8, 9, 10])
console.log([...set1].every((x) => !set2.has(x))) // true
Hubi haddii laba Set ay yihiin isku mid ah
const set1 = new Set([1, 2, 3, 4, 5])
const set2 = new Set([1, 2, 3, 4, 5])
console.log(set1.size === set2.size && [...set1].every((x) => set2.has(x))) // true
Taageerada Browser-ka
![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|
49+ | 44+ | 12+ | 10.1+ | 36+ |
Set vs. Array
Set | Array |
---|---|
Qiimo gaar ah, ma oggola qiimo labanlaab ah | Oggola qiimo labanlaab ah |
Set waa ururinta qiimo aan lahayn nidaam gaar ah | Array waa ururinta qiimo leh nidaam gaar ah |
Set waa la wareegtaa | Array waa la wareegtaa |
Set waa ka gaabis badan yahay array marka la bilaabayo sababtoo ah wuxuu isticmaalaa hab hash. | Array waa ka dhakhso badan yahay marka la bilaabayo |
Waxqabadku waa ka fiican yahay marka la hubinayo jiritaanka qaybta | Waxqabadku waa ka fiican yahay marka la heli doono qaybta |
Maqaalkan waxaa lagu daabacay markii ugu horeysay ee blog.imam.dev.