Javascript 如果需要,如何将数组中的所有元素移动到底部?
如果数组(对象)的元素没有字段日期,如何将数组中的所有元素移到底部Javascript 如果需要,如何将数组中的所有元素移动到底部?,javascript,Javascript,如果数组(对象)的元素没有字段日期,如何将数组中的所有元素移到底部 let records = [{"id": 1}, {"id": 2, "date": new Date()}]; return records.sort(function(a: any, b: any) { return a.hasOwnProperty('date') ? -1 : b.hasOwnProperty('date') ? 1 : 0;
let records = [{"id": 1}, {"id": 2, "date": new Date()}];
return records.sort(function(a: any, b: any) {
return a.hasOwnProperty('date')
? -1
: b.hasOwnProperty('date')
? 1
: 0;
});
因此,我需要对所有带有日期的元素进行排序,并将其他没有日期的元素放在列表底部。您可以通过检查的增量来检查并将未删除的元素移到底部
const
getISO=d=>d实例日期
? d、 toISOString()
:d;
let records=[{id:1},{id:2,日期:新日期('2020-01-01')},{id:3},{id:2},{id:4,日期:新日期}];
记录排序((a,b)=>
编号(b中的日期)-编号(a中的日期)||
getISO(b.date | |“”).localeCompare(getISO(a.date | | |“”)
);
控制台日志(记录)代码>您可以通过取支票的增量来检查并将支票移至底部
const
getISO=d=>d实例日期
? d、 toISOString()
:d;
let records=[{id:1},{id:2,日期:新日期('2020-01-01')},{id:3},{id:2},{id:4,日期:新日期}];
记录排序((a,b)=>
编号(b中的日期)-编号(a中的日期)||
getISO(b.date | |“”).localeCompare(getISO(a.date | | |“”)
);
控制台日志(记录)代码>在哪个参数上进行排序?在哪个参数上进行排序?算术运算的左侧必须是“any”、“number”、“bigint”或枚举类型。t是,它可以工作,但不按日期值排序如果存在日期,则如果一个日期大于另一个日期,则它不会到达顶部,您可以获得用于排序的iso字符串或空字符串。是的,但重要的是在顶部按日期显示最新的行算术运算的左侧必须为“any”、“number”类型,“bigint”或枚举类型。t是的,但不按日期值排序。如果存在日期,则不按日期排序。如果一个日期大于另一个日期,则不会到达顶部。您可以获取iso字符串进行排序,也可以获取空字符串。是的,但在顶部按日期显示最新的行很重要