下面是我想要排序的数组:
let documentData=[
{'title':'01 Documents >File0010-Donia5,06/14/2018,1.14.03 PM.pdf'},
{'title':'01 Documents >File0010-Donia5,06/14/2018,5.14.03 AM.pdf'},
{'title':'04 Images > Image0010-image59323.jpg'},
{'title':'04 Images > Image0010-image44005.jpg'},
{'title':'01 Documents >File0010-Donia5,08/04/2018,5.14.03 PM.pdf'},
{'title':'01 Documents >File0010-Donia5,12/14/2018,10.14.03 AM.pdf'},
];
下面是我用来运行自然排序的代码。
console.log(documentData.sort((a,b)=>
a.title.toLowerCase().replace(/\>| |\-/g,'')
.localeCompare(
b.title.toLowerCase().replace(/\>| |\-/g,''),
undefined,{numeric:true, sensitivity:'base'})));
下面是我得到的输出
[ { title: '01 Documents >File0010-Donia5,06/14/2018,1.14.03 PM.pdf' },
{ title: '01 Documents >File0010-Donia5,06/14/2018,5.14.03 AM.pdf' },
{ title: '01 Documents >File0010-Donia5,08/04/2018,5.14.03 PM.pdf' },
{ title: '01 Documents >File0010-Donia5,12/14/2018,10.14.03 AM.pdf' },
{ title: '04 Images > Image0010-image44005.jpg' },
{ title: '04 Images > Image0010-image59323.jpg' } ]
这不是我需要的排序。如果每个字符串除了数字和字母之外还包含日期/时间,我如何正确地对字符串数组进行排序?
https://stackoverflow.com/questions/51070208
复制相似问题