Ответ 1
_(data).chain().flatten().pluck('name').unique().value()
(Преобразуйте вложенные списки в плоский, выберите name
из каждого из объектов в списке и сделайте его уникальным.)
Я только недавно обнаружил силу 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"]
то есть. нет дублированного и "имени".
Любые предложения, которые очень ценятся.
_(data).chain().flatten().pluck('name').unique().value()
(Преобразуйте вложенные списки в плоский, выберите name
из каждого из объектов в списке и сделайте его уникальным.)
flatten
, чтобы преобразовать вложенный массив в плоский массив.pluck
, чтобы получить значения "name" в виде массиваuniq
_.uniq(_.pluck(_.flatten(items), "name"))
var arr = _.uniq(_.map(_.flatten(array), function(e) {
return e.name;
}));
_.uniq(_.pluck(x,'name'));
вышеуказанный код достаточен для извлечения другого атрибута "name"