Javascript 如何按日期对嵌套的对象数组排序

Javascript 如何按日期对嵌套的对象数组排序,javascript,arrays,Javascript,Arrays,我正在创建简单的新闻应用程序,我正在使用Firebase作为后端,我在云firestore中存储了新闻文章,在我的字段中,我有新闻发布时间hr:min:sec我想按发布时间对收到的数据进行排序,从最新到最旧,有解决方案吗?提前谢谢 var数据=[ {新闻:[ {发表于:“2021年2月22日”, 图:“, 身份证号码:159783, 标题:“简短描述”, 日期:“18:11:53”, 预览文本:“某种标题”} ], 新闻ID:“5GTAbGLfS0hSCOkmTfHD” }, {新闻:[

我正在创建简单的新闻应用程序,我正在使用Firebase作为后端,我在云firestore中存储了新闻文章,在我的字段中,我有新闻发布时间
hr:min:sec
我想按发布时间对收到的数据进行排序,从最新到最旧,有解决方案吗?提前谢谢

var数据=[
{新闻:[
{发表于:“2021年2月22日”,
图:“,
身份证号码:159783,
标题:“简短描述”,
日期:“18:11:53”,
预览文本:“某种标题”}
], 
新闻ID:“5GTAbGLfS0hSCOkmTfHD”
}, 
{新闻:[
{id:159783,
发布于:“2021年2月22日”,
预览文字:“某种标题2”,
标题:“简短描述”,
日期:“17:19:53”,
imgUrl:“
} 
], 
新闻ID:“lw2hzVe0m3dbcmvBj4Vz”}
]
data.forEach((项目)=>{
var singleItem=item.news
const finalResult=singleItem.sort((a,b)=>b.date-a.date)
console.log(最终结果)
})
您可以使用
hh:mm:ss
格式对时间进行排序

const data=[{news:[{发表于:2021年2月22日,imgUrl:,id:159783,标题:“简短描述”,日期:“18:11:53”,预览文本:“某种标题”},新闻id:“5GTAbGLfS0hSCOkmTfHD”},{news:[{id:159783,发表于:2021年2月22日,预览文本:“某种标题2”,标题:“简短描述”,日期:“17:19:53”,imgUrl:},新闻id:“lw2hzVe0m3dbcmvBj4Vz”}];
data.sort((a,b)=>b.news[0].date.localeCompare(a.news[0].date));
console.log(数据);
.as控制台包装{max height:100%!important;top:0;}
您可以使用
hh:mm:ss
格式对时间进行排序

const data=[{news:[{发布于:2021年2月22日,imgUrl:,id:159783,标题:“简短描述”,日期:“18:11:53”,预览文本:“某种标题”},新闻id:“5GTAbGLfS0hSCOkmTfHD”},{news:[{id:159783,发布于:2021年2月22日,预览文本:“某种标题2”,标题:“简短描述”,日期:“17:19:53”,imgUrl:},新闻id:“lw2hzVe0m3dbcmvBj4Vz“}];
data.sort((a,b)=>b.news[0].date.localeCompare(a.news[0].date));
console.log(数据);

。作为控制台包装{max height:100%!important;top:0;}
我认为您可以这样做

const finalResult = singleItem.sort((a, b) => Date.parse(`${b.published_at} ${b.date}`) - Date.parse(`${a.published_at} ${a.date}`))

我想你可以这样做

const finalResult = singleItem.sort((a, b) => Date.parse(`${b.published_at} ${b.date}`) - Date.parse(`${a.published_at} ${a.date}`))