underscorejs groupby 和过滤器
underscorejs groupby and filter
我有一组对象。我想 groupby
& filter(remove)
未定义的对象,类别。请参考下面的脚本以获得更多清晰度:
arrayFlatten = [
{
area:"Digital",
category:undefined,
qId:"q11",
qqId:"step1",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step1",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step2",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
}
]
用于分组排序的命令
var groupCategory = _.groupBy(arrayFlatten,'category');
console.log(groupCategory);
预期结果应该如下所示:
arrayFlatten = [
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step1",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step2",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
}
]
filteredArray = _.filter(
arrayFlatten,
function (obj) {
return obj.category !== undefined;
}
);
filteredArray
将包含没有未定义类别的数组。
在大多数现代浏览器中,您也可以在不使用下划线的情况下执行此操作,使用此处描述的 Array.filter()
:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
我有一组对象。我想 groupby
& filter(remove)
未定义的对象,类别。请参考下面的脚本以获得更多清晰度:
arrayFlatten = [
{
area:"Digital",
category:undefined,
qId:"q11",
qqId:"step1",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step1",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step2",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
}
]
用于分组排序的命令
var groupCategory = _.groupBy(arrayFlatten,'category');
console.log(groupCategory);
预期结果应该如下所示:
arrayFlatten = [
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step1",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"q1",
qqId:"step2",
type:"Reduce",
val:1,
userId:1,
weightedAverage:0
}
]
filteredArray = _.filter(
arrayFlatten,
function (obj) {
return obj.category !== undefined;
}
);
filteredArray
将包含没有未定义类别的数组。
在大多数现代浏览器中,您也可以在不使用下划线的情况下执行此操作,使用此处描述的 Array.filter()
:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter