2015-01-27 8 views

risposta

28

Stai cercando il splicemethod:

Splice restituisce un nuovo indicizzato Iterable sostituendo una regione di questo Iterable con i nuovi valori.

splice(index: number, removeNum: number, ...values: any[])

cui è possibile specificare la index e se si scrive 0 come removeNum sarà solo inserire i valori nella posizione indicata:

var list = Immutable.List([1,2,3,4]); 
console.log(list.toJS()); //[1, 2, 3, 4] 
var inserted = list.splice(2,0,100); 
console.log(list.toJS()); //[1, 2, 3, 4] 
console.log(inserted.toJS()); //[1, 2, 100, 3, 4] 

Demo JSFiddle.

+2

Forse è importante ricordare che l'immutabilità significa che si crea un nuovo array dall'espressione anziché modificare quello esistente e che questa è una parte critica della programmazione funzionale in generale. – Horus

+16

Immagino che chiunque usi una libreria chiamata Immutable.js lo conosca già. –

8

Vale la pena sottolineare che è possibile utilizzare anche il metodo insert che è in realtà sinonimo di list.splice(index, 0, value) ma che sembra più intuitivo e migliora notevolmente la leggibilità.

Problemi correlati