2014-02-25 103 views
2

在紅寶石的對象/數組只檢索一個字段我能夠做到以下幾點:使用underscore.js

myObject.map(&:name) 

我進去myObject由所有name領域的所有值組成的數組(數組或對象)。

什麼是相當於underscore.js或lodash.js?我更喜歡只在一個行,如果可能:)

:(在JS)

_.map([{name: 'x'}, {name: 'y'}], function(obj){ 
    //dosomething 
}) 

回答

12
_.pluck([{name: 'x'}, {name: 'y'}],"name"); 

這會給你:[ 「X」, 「Y」];

看到http://underscorejs.org/#pluck

+0

.MAP你可以這樣做:_.map({名: 「X」,名稱: 「Y」},功能(I,O){回報o.name;}); – longchiwen

+0

謝謝!沒有看到那個^^ – Vadorequest

+0

這是小東西:)。不會介意,如果你接受的答案 – longchiwen

2

對於lodash用戶,

_.map([{'name': 'x'}, {'name': 'y'}], 'name'); 

// ['x', 'y'] 
+0

注意,他們有'pluck'但刪除它只能使用'map'。但是'pluck'確實存在,可能存在取決於你的版本。無論如何,每個版本都會提供'map',所以我會說這是要走的路。 – Vadorequest

0

使用純Javascript只需使用map

let data = [{name: 'x'}, {name: 'y'}]; 
data.map((item) => item.name); 

將返回["x", "y"]。使用