J'ai déjà utilisé Lodash _.pluck
... J'ai adoré la cueillette ...
Réalisant que Lodash ne prend plus en charge pluck
(à partir de Lodash 4.x), j'ai du mal à me rappeler quoi utiliser à la place ...
Je suis allé aux docs , j'ai frappé cmd-f, tapé 'pluck', mais mon pauvre ami abandonné n'est même pas donné une mention appropriée ... pas même un 'a été remplacé par' ...
Quelqu'un peut-il me rappeler ce que je dois utiliser à la place?
javascript
lodash
sfletche
la source
la source
Réponses:
Ah-ha! Le Lodash Changelog dit tout ...
"Supprimé
_.pluck
en faveur de la_.map
sténographie itérative"la source
Il n'y a pas besoin_.map
ou_.pluck
depuis que ES6 a décollé.Voici une alternative utilisant JavaScript ES6:
clips.map(clip => clip.id)
la source
Array.prototype.map
est dans la norme ES5.1. Voir le support du navigateur - cela remonte aussi loin que quiconque a besoin de s'inquiéter en 2017, très probablement!Array.prototype.map
est ES5.1, bien sûr, mais la syntaxe de flèche mignonne=>
pour les fonctions anonymes ne l'est pas. ;)clips.map(function (clip) { return clip.id })
n'est toujours pas si mal je suppose ;-)clips.map(({id}) => id)
_.pluck
car certains projets antérieurs à ES6 pourraient utiliser les méthodes de lodashe. :)Utilisez
_.map
au lieu de_.pluck
. Dans la dernière version, le_.pluck
a été supprimé.la source
Si vous voulez vraiment du
_.pluck
support, vous pouvez utiliser un mixin:Parce que
map
prend désormais en charge une chaîne ("l'itérateur") comme argument au lieu d'une fonction.la source
pluck
! =map
. Pluck vous permet de passer une chaîne et c'est la même chose que de donnerfunction (record) { return(record[that_string]) }
_.map
peut être utilisé comme un égal fonctionnel s'il est utilisé correctement.Ou essayez la méthode nonlodash ES6 pure comme celle-ci
la source
objects.map(object => object.a)
.