2014-02-25 63 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"]。使用