2016-02-01 13 views
180

Una volta ho usato Lodash _.pluck ... ho amato coraggio ...Cosa è successo a Lodash _.pluck?

Realizzando Lodash non supporta più pluck (come di Lodash 4.x), sto lottando per ricordare cosa da usare al posto ...

sono andato a the docs, ha colpito cmd-f, digitato 'coraggio', ma il mio povero amico abbandonata è nemmeno dato una menzione adeguata ... neanche un 'è stato sostituito da' ...

Can qualcuno per favore ricordami cosa dovrei usare invece?

+0

https://lodash.com/docs#pick –

+0

https://lodash.com/docs#result –

risposta

279

Ah-ha! Il Lodash Changelog dice tutto ...

"Rimosso _.pluck a favore di _.map con iteratee Stenografia"

var objects = [{ 'a': 1 }, { 'a': 2 }]; 

// in 3.10.1 
_.pluck(objects, 'a'); // → [1, 2] 
_.map(objects, 'a'); // → [1, 2] 

// in 4.0.0 
_.map(objects, 'a'); // → [1, 2] 
+70

Non potrebbero semplicemente mantenere sia ...? Non vedo la necessità di rinominare le cose solo per il gusto di rinominarle. –

+4

@KennyWorden Sei corretto al 100% –

+11

Non è "rinominare" però - la mappa è già esistita - e la rimozione è stata semplicemente rimossa. La mappa avviene semplicemente per fornire funzionalità simili con la stessa firma di argomento. – Chris

9

Uso _.map invece di _.pluck. Nell'ultima versione il _.pluck è stato rimosso.

32

Non è necessario _.map o _.pluck da quando l'ES6 è decollato.

Ecco un'alternativa utilizzando ES6 JavaScript:

clips.map(clip => clip.id)

+2

Non c'è nemmeno bisogno di ES6: 'Array.prototype.map' è nello standard ES5.1. Vedi [supporto browser] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map#Browser_compatibility) - risale a chiunque debba preoccuparsi per il 2017, la maggior parte probabilmente! – davnicwil

+1

@davnicwil 'Array.prototype.map' è ES5.1, certo, ma la sintassi della freccia carina' => 'per le funzioni anonime non lo è. ;) – 00dani

+1

@ 00Dani buon punto! I miei occhi saltarono completamente sulla freccia grassa. Ah bene, 'clip.map (funzione (clip) {return clip.id})' ancora non è così male, immagino ;-) – davnicwil