我最近才发现了underscore.js的强大功能,对我提出建议的方法还是新手:
我如何从中得到:
[
[{
"name": "Type 2",
"id": 14
}],
[{
"name": "Type 1",
"id": 13
}, {
"name": "Type 3",
"id": 15
}],
[{
"name": "Type 2",
"id": 14
}],
[{
"name": "Type 1",
"id": 13
}]
]
到此:
["Type 1","Type 2","Type 3"]
即。没有重复和“名称”属性。
任何建议都非常感谢。
答案 0 :(得分:28)
_(data).chain().flatten().pluck('name').unique().value()
(将嵌套列表转换为平面列表,从列表中的每个对象中选择name
,并使其唯一。)
答案 1 :(得分:10)
_.uniq(_.pluck(_.flatten(items), "name"))
答案 2 :(得分:2)
var arr = _.uniq(_.map(_.flatten(array), function(e) {
return e.name;
}));
答案 3 :(得分:2)
_.uniq(_.pluck(x,'name'));
上面的代码足以提取不同的名称"属性
答案 4 :(得分:1)
简单方法:
1。使用_.map获取所有名称
var names = _.map(items, function(item) { return item.name});
2。从该名称中获取_.uniq
var uniqueNames = _.uniq(names);