2016-02-01 33 views
180

我曾經用Lodash _.pluck ......我愛的勇氣......Lodash _.pluck發生了什麼?

實現Lodash不再支持pluck(如Lodash 4.x版的),我掙扎要記住,而不是用什麼...

我去the docs,打CMD-F,鍵入「勇氣」,但我可憐的被遺棄的朋友甚至不給一個適當的提...甚至沒有「已取代」 ......

可有人請提醒我應該使用什麼?

+0

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

+0

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

回答

279

啊哈!該Lodash Changelog說,這一切...

「贊成_.map刪除_.pluck與iteratee速記」

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

難道他們不是簡單的保留兩個...?我不認爲有必要重命名它們,只是爲了重命名它們。 –

+4

@KennyWorden你100%正確 –

+11

雖然它不是「重命名」 - 地圖已經存在 - 並且採摘已被簡單地刪除。地圖碰巧提供了相同的參數簽名相似的功能。 – Chris

9

使用_.map而不是_.pluck。在最新版本中,_.pluck已被刪除。

32

自ES6起飛後,不需要 _.map_.pluck

下面是一個使用JavaScript的ES6替代:

clips.map(clip => clip.id)

+2

甚至不需要ES6:'Array.prototype.map'是ES5.1標準。請參閱[瀏覽器支持](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map#Browser_compatibility) - 它可以追溯到2017年任何人需要擔心的地方,大多數大概! – davnicwil

+1

@davnicwil'Array.prototype.map'確實是ES5.1,但匿名函數的可愛箭頭語法'=>'不是。 ;) – 00dani

+1

@ 00Dani好點!我的眼睛完全跳過了胖箭頭。嗯,'clips.map(function(clip){return clip.id})'仍然不是那麼糟糕,我猜;-) – davnicwil