我想创建一个对象数组,其中包含每个对象的所有日期,这些日期按从最新日期到最早日期的顺序排序。
如何遍历每个对象的日期并对它们进行排序?
medList[0].data.sort
可以工作吗?
我想这样排序:
var newArray = [{"dose": 10, "date": "2/15/2020"}, {"dose": 20, "date": "1/18/2020"}, {"dose": 20, "date": "12/21/2019"}]
const medList = [
{
"name": "Insulin",
"dose unit": "mg",
"freq": "daily",
"route": "PO",
"data": [
{
"dose": 20,
"date": "12/21/2019"
},
{
"dose": 10,
"date": "2/15/2020"
}, {
"dose": 20,
"date": "1/18/2020"
}
]
},
{
// Another med...
} ..
]
答案 0 :(得分:1)
您可以执行以下操作。
const medList = [{
"name": "Insulin",
"data": [{
"dose": 20,
"date": "12/21/2019"
},
{
"dose": 10,
"date": "2/15/2020"
}, {
"dose": 20,
"date": "1/18/2020"
}
]
},
{
"name": "Viagra",
"data": [{
"dose": 20,
"date": "9/9/2019"
},
{
"dose": 10,
"date": "12/15/2020"
}, {
"dose": 20,
"date": "1/22/2020"
}
]
},
]
const sortedViagra = medList[1].data.sort((a, b) => new Date(b.date) - new Date(a.date));
const sortedMeds = medList.map(med => {
return med.data.sort((a, b) => new Date(b.date) - new Date(a.date));
});
console.log('sortedMeds --->', sortedMeds)
console.log('sortedViagra -->', sortedViagra)