2012-04-10 1 views
6

Ho un array con i seguenti datirestituire un intervallo di valori da una matrice in underscore.js

var a = [1,2,3,4,5,6,7] 

Sto cercando un metodo in underscore.js o backbone.js in cui posso restituire il elementi con un intervallo specificato. per esempio:

filter(2,5) should return [3,4,5,6] 

che rappresenta gli elementi di indice dal 2 ° al 5 ° nell'array. Qualche suggerimento per me?

risposta

30

Javascript Array dovrebbe essere definito come qui di seguito,

var a = [1,2,3,4,5,6,7]; //not inside {} 

E quindi è possibile utilizzare array di metodo nativo slice per ottenere gli elementi da una posizione specifica

a.slice(2, 6) //should return 3,4,5,6 

Edit:

So benissimo che la funzionalità è disponibile in JScript. Stavo chiedendo se è disponibile in backbone o underscore. Mi stai chiedendo perché vorresti un cubetto di ghiaccio invece dell'acqua, perché alla fine il ghiaccio si trasformerà in acqua.

sottolineatura js non hanno funzione come slice in quanto è già disponibile in js nativi.

+0

qualsiasi cosa, da sottolineatura o spina dorsale? – cherit

+15

Perché avresti bisogno che questa funzionalità provenga da underscore o backbone se è disponibile nativamente in Javascript? Dopotutto, se usi il trattino basso o il backbone, stai usando Javascript. –

+2

@TitoCheriachan Il confronto tra acqua e ghiaccio non è del tutto identico. In ogni caso underscore/backbone js non hanno una funzione come slice poiché è già disponibile in js nativi. Non c'è motivo di implementare funzionalità come slice senza proporre miglioramenti alla funzionalità esistente. –

1

Fase 1:

Passa alla Lodash. (https://lodash.com/)

Nota: passaggio pericoloso, non si torna mai indietro.

Fase 2:

Utilizzare la funzione _.slice in questo modo:

_.slice(a, 2, 5)