我想首先根据标签是否存在对对象进行排序,然后对计数进行排序。我的数据看起来像这样:
[
{
count: "2",
tags: ["red", "green"]
},
{
count: "3",
tags: ["red", "green", "blue"]
},
{
count: "6",
tags: ["green"]
},
{
count: "7",
tags: ["green", "blue"]
},
{
count: "1",
tags: ["green", "blue"]
},
{
count: "2",
tags: ["red", "blue"]
}
]
我希望结果按降序对计数进行排序,但优先使用标签“ red”对它们进行排序,因此结果应如下所示:
[
{
count: "3",
tags: ["red", "green", "blue"]
},
{
count: "2",
tags: ["red", "blue"]
},
{
count: "2",
tags: ["red", "green"]
},
{
count: "7",
tags: ["green", "blue"]
},
{
count: "6",
tags: ["green"]
},
{
count: "1",
tags: ["green", "blue"]
}
]
到目前为止,这是我的代码:
data.sort(function(a, b) {
if (a.tags.includes("red")) return -1;
});
我该如何扩展以按计数排序?