MICHELEPISANI.IT
 

Posta la tua soluzione nei commenti

Quiz Javascript: usare solo il metodo Splice per risolverlo

Quiz Javascript - usare solo il metodo Splice per risolverlo
Maggio 09
07:212016

Qualche giorno fa sono incappato in un Quiz Javascript che mi ha incuriosito, anche perchè per risolverlo era richiesto l'uso di un metodo che solitamente non utilizzo nei miei script, il metodo splice.
Per chi non sapesse come funziona tale metodo scrivo di seguito un esempio commentato in modo da poter dare delle indicazioni su come approcciarsi alla risoluzione dell'indovinello. In sostanza il metodo splice cambia il contenuto di un array rimuovendovi e/o aggiungendovi elementi secondo la seguente sintassi:

// mioArray e' l'array di esempio
var mioArray = ['michele', 'roberto', 'marco', 'andrea'];

// il comando seguente rimuove un elemento in posizione 2 e vi aggiunge l'elemento 'pippo'
var mioArraySec = mioArray.splice(2, 1, 'pippo');

// mioArray ora e' ['michele', 'roberto', 'pippo', 'andrea']
// mioArraySec invece e' ['marco']


Il primo parametro indica il punto di partenza (la posizione dell'elemento) dal quale iniziare a modificare l'array.
Il secondo parametro indica il numero di elementi che saranno eliminati (se ha valore 0 non saranno eliminati elementi, se invece viene omesso il suo valore sarà dalla formula: lunghezza array - posizione di partenza).
Il terzo parametro, che può essere ripetuto, indica gli elementi da aggiungere all'array nella posizione specificata dal primo elemento. Se il terzo parametro viene omesso il risultato del metodo sarà solo l'eliminazione degli elementi dall'array.
Il metodo restituisce gli elementi eliminati dall'array. Se nessun elemento è stato eliminato l'array risultante dall'operazione sarà vuoto.

Con queste premesse veniamo adesso all'"indovinello" in Javascript:

// Javascript Quiz

// hai a disposizione la seguente funzione e la variabile denominata tt
function add() { return ["a","b"]; }
var tt = [1,2,3,4];

// Quello che devi ottenere è il seguente risultato
// [1,'a','b',2,3,4]

// Per farlo dovrai modificare la variabile tt usando solo il metodo splice.
// Riesci a risolverlo?


Come specificato dovrai ottenere il risultato richiesto, ovvero un array formato da [1,'a','b',2,3,4], modificando tt tramite solo ed esclusivamente il metodo splice.
Buon diverimento.


PS: Nel caso tu decida di gettare la spugna potrai trovare la mia soluzione nel seguente JSFiddle (probabilmente ce ne sono altre e sicuramente anche più eleganti della mia ma tra quelle con cui ho avuto modo di confrontarmi nessuna usa SOLO il metodo splice):


Tags
Condividi

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Grazie Paolo,
spero possa tornarti utile per i tuoi scopi.

Paolo

salve,mi interessa il progetto sensore gas ,per applicazioni in agricoltura.Vedremo gli …

Michele Pisani

Ciao Rossana,
strano problema, una domanda: continui a visualizzare entrambe le pagine o una …

Rossana

Ciao Michele, il mio problema è che Facebook non mi risponde. Mi è successo tre volte: faccio …