返回一组文档,其中所有子数组都包含环回或nodejs中的给定值
Return a set of documents with all sub-arrays containing a given value in loopback or nodejs
如何返回一组具有匹配公共值的子数组的文档。为了更好地解释,请考虑以下数据:
[
{
Category: 1,
Products: [
{
Name: 'ABC',
ColorCode:[1,2,3,4,5]
},
{
Name: 'DEF',
ColorCode:[1,2,3,4,5,6]
},
{
Name: 'GHI',
ColorCode:[1,2,3,4,6,7]
}
]
},
{
Category: 2,
Products: [
{
Name: 'JKL',
ColorCode:[4,6,7,]
},
{
Name: 'MNO',
ColorCode:[4,5,6,9,]
}
]
},
{
Category: 3,
Products: [
{
Name: 'OPQ',
ColorCode:[3,4,5,6,9,10]
},
{
Name: 'RST',
ColorCode:[2,3,5,6,9,10]
}
]
}]
任务是,获取包含特定颜色代码的所有产品的所有类别:
例如,对于ColorCode=6,结果应该是:
[
{
Category: 2,
Products: [
{
Name: 'JKL',
ColorCode:[4,6,7,]
},
{
Name: 'MNO',
ColorCode:[5,6,9,]
}
]
},
{
Category: 3,
Products: [
{
Name: 'OPQ',
ColorCode:[3,4,5,6,9,10]
},
{
Name: 'RST',
ColorCode:[2,3,5,6,9,10]
}
]
}]
对于ColorCode=4,结果应该是:
[
{
Category: 1,
Products: [
{
Name: 'ABC',
ColorCode:[1,2,3,4,5]
},
{
Name: 'DEF',
ColorCode:[1,2,3,4,5,6]
},
{
Name: 'GHI',
ColorCode:[1,2,3,4,6,7]
}
]
},
{
Category: 2,
Products: [
{
Name: 'JKL',
ColorCode:[4,6,7,]
},
{
Name: 'MNO',
ColorCode:[4,5,6,9,]
}
]
}]
对于ColorCode=7,结果应为空数组:[]
提前谢谢。
您正在寻找Array.prototype.filter
。
// filter out categories that don't contain color code 4
categories.filter(function(category) {
return category.products.filter(containsColor(4)) > 0;
});
function containsColor(colorCode) {
return function(product) {
return product.ColorCode.indexOf(colorCode) >= 0;
};
}
相关文章:
- JavaScript 自包含函数数组访问自我索引
- 如何对姓氏进行排序,格式化电话号码,并返回一个包含对象数组值的字符串
- AngularJS:如何使用ng repeat来显示父数组中包含的数组的所有元素
- 使用包含参数数组的数组调用函数,而不是仅列出数组
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 当项目包含在数组中时,在 ng-repeat 上以角度添加类
- 数组包含其他数组中的所有元素
- 输出一个结果数组,其中包含给定数组的唯一元素的分组计数
- Parse.com正在查询包含指针数组的对象,该数组无法使用include
- Javascript 数组包含/包含子数组
- 如何递归地移除包含空数组的嵌套对象
- 如何在搜索条件中包含子数组
- 如何确定对象是否包含在数组中
- 如何检查包含子数组的数组的大小?
- 如何获取对象中包含的数组的长度
- Assert数组包含Chai数组
- 访问模型中包含的数组中的字段
- 在包含对象数组的JSON对象上循环
- angular 2-如何迭代JSON响应,该响应包含一个包含对象数组的对象
- 递归删除嵌套 json 对象中包含空数组的对象