我试图利用lodash却找不到一个javascript函数,将采取这样的:Lodash的Javascript返回元素的值
[
{item: {id: 1}, 'name': 'hi'},
{item: {id: 2}, 'name': 'hey'},
{item: {id: 1}, 'name': 'hello'}
];
,并把它变成
[
{item: {id: 1}, 'name': 'hi'},
{item: {id: 2}, 'name': 'hey'}
];
所以远远我有这样的javascript:
var mainThings = [
{item: {id: 1}, 'name': 'hi'},
{item: {id: 2}, 'name': 'hey'},
{item: {id: 1}, 'name': 'hello'}
];
uniqueMainsFunc = function() {
var ids = [],
mains = [];
_.forEach(mainThings, function(thing) {
if (ids.indexOf(thing.item.id) === -1) {
ids.push(thing.item.id);
mains.push(thing);
}
});
return uniqueMains;
};
在这种情况下,uniqueMains将只包含:
[
{item: {id: 1}, 'name': 'hi'},
{item: {id: 2}, 'name': 'hey'}
]
是否有lodash函数可以更好地处理这个问题? 在.forEach之后,我尝试使用!_。some(uniqueNestedIds,thing.item.id),但它不起作用。