Javascript 按字母顺序对api的json响应排序
我正在尝试按字母顺序接收GETAPI响应。我试过这个问题的第二个答案: 我的javascript代码Javascript 按字母顺序对api的json响应排序,javascript,node.js,json,express,Javascript,Node.js,Json,Express,我正在尝试按字母顺序接收GETAPI响应。我试过这个问题的第二个答案: 我的javascript代码 function OrderListBy(prop) { return function (a, b) { if (a[prop] > b[prop]) { return 1; } if (a[prop] < b[prop]) { return -1; } return 0; }; } router.get('
function OrderListBy(prop) {
return function (a, b) {
if (a[prop] > b[prop]) {
return 1;
}
if (a[prop] < b[prop]) {
return -1;
}
return 0;
};
}
router.get('/countries', async (req, res) => {
try {
const countries = await Country.find({}, 'name');
const sortedCountries = countries.sort(OrderListBy('name'));
res.send(sortedCountries);
} catch (e) {
res.status(500).send();
}
});
它应该按字母顺序在印度之前返回中国。它是按国家创建的顺序返回国家。
这不管用。我做错了什么?您可以在查询本身中对其进行排序。试试这个
await Country.find({}, {'name': 1}).sort({name: 1})
注意:在内部排序中,根据需要的顺序,遵循以下值
1 Ascending
-1 Descending
当你说它不起作用时,你的意思是它给了你一个错误吗?还是它没有归还你想要的?您可以共享输出吗?为什么不在这里排序:
wait Country.find({},'name')代码>?排序似乎正常。国家/地区的输出是什么?
?输出已更新请查看。
1 Ascending
-1 Descending