2015-12-30 12 views
5

Curioso se c'è qualche vantaggio nello scegliere uno di questi approcci sull'altro. Ecco un'illustrazione.str.split ('') .map() vs arr.map(), per input fisso

'one two'.split(' ').map(string => doSomething(string)); 

vs

['one', 'two'].map(string => doSomething(string)); 

ho visto il primo approccio in alcune librerie di front-end popolari, ma il secondo ha più senso per me quando la lettura attraverso il codice rapidamente. È solo una scelta di stile? O c'è qualche sorta di oscuro vantaggio nel dividere una stringa distanziata rispetto alla semplice mappatura attraverso un array?

+1

@ user2864740 Davvero? – epascarello

+0

Vuoi avere il passaggio di elaborazione extra? – epascarello

+2

@ user2864740, no non lo è. ''one two'.split (' ')' produce '[' one ',' two ']' –

risposta

-1

['one', 'two'] è il risultato di 'one two'.split(' '), quindi nessuna differenza.

String.prototype.split():

Procedimento split() divide un oggetto String in un array di stringhe separando la stringa in sottostringhe.

+0

Vale la pena ricordare che il motivo per cui si utilizza l'uno rispetto all'altro dipende dal tipo di variabile; se hai già una stringa o un array. – gfullam

+0

Sono consapevole che ottengono le stesse cose, ma era curioso se ci fosse qualche oscuro vantaggio nello scegliere un approccio rispetto all'altro :) –

+0

Dipende dal tipo di variabile. Non c'è una strategia qui, solo necessità. – gfullam

-1

L'unica differenza è la leggibilità (e per alcune persone potrebbe anche essere più semplice da digitare).

Alcune persone considerano 'one two'.split(' ') più leggibile della notazione JavaScript dell'array.

Se si è abituati a JSON, tuttavia, si considererà il secondo più leggibile poiché è più chiaro cosa accadrà. (Ed è un segno di spunta più veloce!)

Altre lingue lo hanno addirittura integrato nella lingua. Ad esempio, in Ruby è possibile scrivere %w(one two) producendo un array con le stringhe "uno" e "due".

+1

Non c'è modo che '" one two ".split (" ")' sia più leggibile di '[" one "," two "]' che è più diretto e più corto. –

+1

@Derek 朕 會 功夫 È un'opinione o ti opponi alla mia risposta? (Ricerca '% w()' per Ruby ...) – idmean

+0

Solo un parere su come questo potrebbe non essere il motivo per cui questo viene scelto rispetto al letterale dell'array nelle OP librerie menzionate, specialmente quando le librerie sono spesso relative alle prestazioni. –