从嵌套数组中获取唯一元素的 JS 模式是什么
What is the JS pattern to get unique elements from nested array?
>我从MongoDB.aggregate得到以下结果:
[{
_id: ObjectId(1),
_author: ObjectId(2),
comments: [
{
_author: ObjectId(2),
text: '...'
},
{
_author: ObjectId(3),
text: '...1'
},
{
_author: ObjectId(3),
text: '...2'
}...
]
}...]
我需要从所有 elemnts(包括嵌套)_author
字段中获取所有唯一作者:
var uniqAuthors = magicFunction(result) // [ObjectId(2), ObjectId(3)] ;
使用纯 JS 制作它的最佳和紧凑方法是什么?
Array.prototype.reduce可以帮助您:
var unique = result[0].comments.reduce(function(uniqueAuthors, comment) {
if (uniqueAuthors.indexOf(comment._author) === -1) {
uniqueAuthors.push(comment._author);
}
return uniqueAuthors;
}, []);
//Verify the author from document
if (unique.indexOf(result[0]._author) === -1) {
uniqueAuthors.push(result[0]._author);
}
相关文章:
- D3.js模式不适用于弧形或圆环图
- 查看完某个页面后,在重定向的页面上弹出js模式
- 清除我对这种 js 模式的想法
- 被动.js模式间接观察者报告相同的值
- Bootstrap JS模式加载,但不可编辑
- Require.js中的Backbone.js模式
- 流星排行榜示例 JS 模式说明
- 将公共钩子添加到 js 模式
- 从嵌套数组中获取唯一元素的 JS 模式是什么
- 可以'点击时不要启动ouibounce.js模式
- 具有闭包和性能的JS模式
- 在js模式窗口中为下一步添加操作
- Knockout JS模式用于同一页面中的多个视图模型,维护DOM结构
- JavaScript 中有没有办法在原型私有(使用模块 JS 模式)方法中提供对变量的访问
- JS模式提供字符串形式的函数名
- 这个JS模式的目的是什么?
- 在angular js模式弹出式或局部视图中加载外部js文件
- 引用对象实例的React.js模式
- oboe.js-模式来选择特定的节点,而不是所有匹配的节点
- npm风格的Emacs JS模式