Dopo l'articolo sul method overloading, John Resig ci offre un'altra soluzione basata sull'estensione dei metodi nativi di Javascript, più precisamente sul costruttore Array.
Il metodo in questione si chiama remove
, e permette di rimuovere un elemento da un array oppure un gruppo preciso di elementi, ricavato dall'intervallo specificato.
Il metodo remove
accetta due parametri: from e to. Il primo è obbligatorio e indica, se to non è specificato, l'elemento da rimuovere dall'array, oppure l'indice dal quale bisogna partire per eliminare un intervallo di elementi. Il secondo indica l'indice finale del precedente intervallo.
Un'altra ottima caratteristica è la possibilità di specificare valori negativi per partire dalla fine dell'array. Vediamo qualche esempio:
var num = [0, 1, 2, 3, 4, 5, 6, 7, 8]; // num diventa [5, 6, 7, 8] num.remove(0, 4); // num diventa [0, 1, 2, 3, 5, 6, 7, 8] num.remove(4); // num diventa [0, 1, 2, 3, 4, 6, 7, 8] num.remove(-4); // num diventa [0, 1, 2, 3, 4, 8] num.remove(-4, -2);
Davvero un'ottima soluzione, pratica e molto compatta. L'autore presenta inoltre la possibilità di adattare il metodo in forma generica al costruttore Array, questa volta però, specificando come primo argomento l'array interessato.