Abbiamo già visto nelle lezioni precedenti come un array può contenere numeri e stringhe.
Da zero ad eroe
Entra nel mondo della programmazione web: variabili, funzioni, array, DOM, eventi. Con esercizi pratici e progetti coinvolgenti.
- ⏱️ 8 ore di corso registrato
- 🧩 Più di 50 algoritmi risolti passo passo
- 🎯 Livello base — da zero ad eroe
- 💻 100% online, fruibile quando vuoi
Quindi creiamo un array con due oggetti: canzone1 e canzone2 e specifichiamo le proprietà per ciascun oggetto. Dopo con dei prompt facciamo inserire i dati all'utente. Tramite il metodo push inseriamo l'elemento in canzoni.
Infine visualizziamo l'array con i 3 elementi. Possiamo anche tralasciare i nomi canzone1, canzone2 ecc.. in quanto in un array gli elementi sono individuati tramite l'indice che, ricordiamo, parte da 0. In questo esempio scegliamo di lasciare i nomi.
Ecco di seguito il codice completo:
var canzoni = [
canzone1 = {
titolo: 'Stairway to Heaven',
nomeCantante: 'Led Zeppelin',
anno: '1971'
},
canzone2 = {
titolo: 'Wish you were here',
nomeCantante: 'Pink Floyd',
anno: '1975'
}
];
console.log(canzoni);
canzone3 = {
titolo : prompt('Inserisci il titolo'),
nomeCantante: prompt('Inserisci il nome del cantante o gruppo'),
anno: prompt('Inserisci l\'anno'),
};
canzoni.push(canzone3);
console.log(canzoni);
Possiamo anche inserire gli elementi in questo modo.
var canzoni = [
canzone1 = {
titolo: 'Stairway to Heaven',
nomeCantante: 'Led Zeppelin',
anno: '1971'
},
canzone2 = {
titolo: 'Wish you were here',
nomeCantante: 'Pink Floyd',
anno: '1975'
}
];
console.log(canzoni);
var t = prompt('Inserisci il titolo');
var n = prompt('Inserisci il nome del cantante o gruppo');
var a = prompt('Inserisci l\'anno'),
canzone3 = {
titolo : t,
nomeCantante: n,
anno: a,
};
canzoni.push(canzone3);
console.log(canzoni);
Esercizio 2 - creare un array di oggetti
Progettare un array rubrica che contiene degli oggetti: utente1, utente2, ecc... Dopo, per ogni utente, specificare altre proprietà: nome, cognome, telefono e indirizzo. Dove indirizzo è a sua volta un altro oggetto contenente altre proprietà.
Quindi popolare la rubrica con dei dati a piacere. Dopo eliminare un elemento e visualizzare nuovamente la rubrica così ottenuta.
Questo esercizio è molto simile al precedente, occorre solo prestare attenzione perché ci troviamo di fronte ad un oggetto nidificato.
Dunque ci comportiamo come nell'esempio sopra, ma per quanto riguarda l'inserimento, potremmo lavorare in questo modo:
var rubrica = [
utente1 = {
nome: 'Coding',
cognome: 'Creativo',
telefono: '333',
indirizzo: {
via: 'delle rose',
citta: 'Modica'
}
},
utente2 = {
nome: 'Creativo',
cognome: 'Coding',
telefono: '124',
indirizzo: {
via: 'delle rose',
citta: 'Modica'
}
}
];
var utente3 = {
nome : prompt('Inserisci il nome'),
cognome: prompt('Inserisci il cognome'),
telefono: prompt('Inserisci il telefono'),
indirizzo: {
via: prompt('Inserisci il nome della via'),
citta: prompt('Inserisci la città')
}
};
rubrica.push(utente3);
console.log(rubrica);
Volendo fare dei controlli dell'input, potremmo utilizzare il ciclo while o do-while, come da esempio sotto:
var rubrica = [
utente1 = {
nome: 'Coding',
cognome: 'Creativo',
telefono: '333',
indirizzo: {
via: 'delle rose',
citta: 'Modica'
}
},
utente2 = {
nome: 'Creativo',
cognome: 'Coding',
telefono: '124',
indirizzo: {
via: 'delle rose',
citta: 'Modica'
}
}
];
do {
var n = prompt('Inserisci il nome');
} while (n == "");
var utente3 = {
nome : n,
cognome: prompt('Inserisci il cognome'),
telefono: prompt('Inserisci il telefono'),
indirizzo: {
via: prompt('Inserisci il nome della via'),
citta: prompt('Inserisci la città')
}
};
rubrica.push(utente3);
console.log(rubrica);
In questo caso se l'utente non inserisce nulla, lasciando dunque la stringa vuota, viene richiesto nuovamente di inserire il nome.
Chiaramente questo è solo un esempio di possibile soluzione del seguente esercizio, proponete pure la vostra nei commenti sotto.
In questa lezione abbiamo visto come lavorare con gli array di oggetti e abbiamo fatto alcuni esempi, nella prossima vedremo altri esempi.
Alcuni link utili
Indice tutorial JavaScript
Le funzioni di callback
Esempi funzioni di callback
Come utilizzare le callback e setTimeout
Cifrario di Cesare online
Come realizzare un convertitore da decimale a binario, ottale ed esadecimale
Come creare PDF con JavaScript
PDF da un form con JavaScript
Proprietà di un PDF con JavaScript
Libreria jsPDF