Day 10
Set
L'insieme è una collezione di elementi. L'insieme può contenere solo elementi unici. Vediamo come creare un insieme nella sezione seguente.
Creare un set vuoto
Creare un set da un array
const languages = [
'English',
'Finnish',
'English',
'French',
'Spanish',
'English',
'French',
]
const setOfLanguages = new Set(languages)
console.log(setOfLanguages)
Set è un oggetto iterabile e possiamo iterare attraverso ogni elemento.
const languages = [
'English',
'Finnish',
'English',
'French',
'Spanish',
'English',
'French',
]
const setOfLanguages = new Set(languages)
for (const language of setOfLanguages) {
console.log(language)
}
Aggiungere un elemento ad un set
const companies = new Set() // creating an empty set
console.log(companies.size) // 0
companies.add('Google') // add element to the set
companies.add('Facebook')
companies.add('Amazon')
companies.add('Oracle')
companies.add('Microsoft')
console.log(companies.size) // 5 elements in the set
console.log(companies)
Possiamo anche usare il ciclo per aggiungere elementi a un insieme.
const companies = ['Google', 'Facebook', 'Amazon', 'Oracle', 'Microsoft']
setOfCompanies = new Set()
for (const company of companies) {
setOfCompanies.add(company)
}
Eliminare un elemento dal set
Possiamo eliminare un elemento da un insieme utilizzando un metodo di cancellazione.
Verificare la presenza di un elemento nel set
Il metodo has può aiutare a sapere se un certo elemento esiste in un insieme.
Svuotare il set
Rimuove tutti gli elementi da un insieme.
Vedere l'esempio seguente per imparare a usare set.
const languages = [
'English',
'Finnish',
'English',
'French',
'Spanish',
'English',
'French',
]
const langSet = new Set(languages)
console.log(langSet) // Set(4) {"English", "Finnish", "French", "Spanish"}
console.log(langSet.size) // 4
const counts = []
const count = {}
for (const l of langSet) {
const filteredLang = languages.filter((lng) => lng === l)
console.log(filteredLang) // ["English", "English", "English"]
counts.push({ lang: l, count: filteredLang.length })
}
console.log(counts)
[
{ lang: 'English', count: 3 },
{ lang: 'Finnish', count: 1 },
{ lang: 'French', count: 2 },
{ lang: 'Spanish', count: 1 },
]
Altri casi d'uso di set. Ad esempio, per contare gli elementi unici di un array.
const numbers = [5, 3, 2, 5, 5, 9, 4, 5]
const setOfNumbers = new Set(numbers)
console.log(setOfNumbers)
Unione di set
Per trovare l'unione di due insiemi si può utilizzare l'operatore di divisione. Troviamo l'unione dell'insieme A e dell'insieme B (A U B)
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6]
let c = [...a, ...b]
let A = new Set(a)
let B = new Set(b)
let C = new Set(c)
console.log(C)
Intersezione di set
Per trovare l'intersezione di due insiemi si può utilizzare un filtro. Troviamo l'intersezione dell'insieme A e dell'insieme B (A ∩ B)
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6]
let A = new Set(a)
let B = new Set(b)
let c = a.filter((num) => B.has(num))
let C = new Set(c)
console.log(C)
Differenza tra set
Per trovare la differenza tra due insiemi si può utilizzare un filtro. Troviamo la differenza tra l'insieme A e l'insieme B (A B)
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6]
let A = new Set(a)
let B = new Set(b)
let c = a.filter((num) => !B.has(num))
let C = new Set(c)
console.log(C)
Map
Creare un map vuoto
Creare un map da un array
countries = [
['Finland', 'Helsinki'],
['Sweden', 'Stockholm'],
['Norway', 'Oslo'],
]
const map = new Map(countries)
console.log(map)
console.log(map.size)
Aggiungere valori ad un map
const countriesMap = new Map()
console.log(countriesMap.size) // 0
countriesMap.set('Finland', 'Helsinki')
countriesMap.set('Sweden', 'Stockholm')
countriesMap.set('Norway', 'Oslo')
console.log(countriesMap)
console.log(countriesMap.size)
Ottenere un valore dal map
Controllare le key del map
Controlla se una chiave esiste in una mappa usando il metodo has. Restituisce true o false.
Ottenere tutti i valori dalla mappa utilizzando il ciclo
🌕 Hai raggiunto un grande traguardo, sei inarrestabile. Continua così! Hai appena completato le sfide del 10° giorno e sei a 10 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli.
Esercizi
Esercizi: Livello 1
- creare un insieme vuoto
- Creare un insieme contenente da 0 a 10 utilizzando il ciclo
- Rimuovere un elemento da un insieme
- Cancellare un insieme
- Creare un insieme di 5 elementi stringa da un array
- Creare una mappa di paesi e il numero di caratteri di un paese
Esercizi: Livello 2
- Trovare un'unione b
- Trovare un'intersezione b
- Trovare a con b
Esercizi: Livello 3
-
Quante lingue sono presenti nel file oggetto Paesi.
-
*** Utilizzate i dati dei Paesi per trovare le 10 lingue più parlate:
// Your output should look like this
console.log(mostSpokenLanguages(countries, 10))
[
{ English: 91 },
{ French: 45 },
{ Arabic: 25 },
{ Spanish: 24 },
{ Russian: 9 },
{ Portuguese: 9 },
{ Dutch: 8 },
{ German: 7 },
{ Chinese: 5 },
{ Swahili: 4 },
{ Serbian: 4 }
]
// Your output should look like this
console.log(mostSpokenLanguages(countries, 3))
[
{English:91},
{French:45},
{Arabic:25}
]
🎉 CONGRATULAZIONI ! 🎉