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字符串进行排序,也可以获取空字符串。是的,但在顶部按日期显示最新的行很重要