我使用嵌套文档的以下文档数组。我可以使用lodash库
使用嵌套文档中的特定字段对此数组进行排序[{
foo: {
attrb: true,
attrb1: xxx
},
foo1: {
field1: xxx,
field2: xxxx
},
foo2: {
data: 1334,
data1: 354354
}
},
{
foo: {
attrb1: xyz
},
foo1: {
field1: xxx,
field2: xxxx
},
foo2: {
data: 1334,
data1: 354354
}
},
{
foo: {
attrb1: xzy
},
foo1: {
field1: xxx,
field2: xxxx
},
foo2: {
data: 1334,
data1: 354354
}
}]
如何使用lodash
使用数组文档foo中的attrb:true字段对此进行排序答案 0 :(得分:1)
你可以使用Lodash的sortBy
功能:
const sorted = _.sortBy(data, 'foo.attrb');
但你不需要Lodash那样做。您可以使用Array#sort
:
const data = [{
foo: {
attrb: true
}
},
{
foo: {
}
},
{
foo: {
attrb: true
}
}];
const sorted = data.sort((a, b) => {
return !!b.foo.attrb - !!a.foo.attrb;
});
console.log(sorted);