Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中对时间戳数组进行排序_Javascript_Angular_Sorting_Timestamp_Leaflet - Fatal编程技术网

在JavaScript中对时间戳数组进行排序

在JavaScript中对时间戳数组进行排序,javascript,angular,sorting,timestamp,leaflet,Javascript,Angular,Sorting,Timestamp,Leaflet,我正在开发一个Angular web服务,用于创建照片旅行并使用传单将其显示在地图上。 当我上传图片时,我从EXIF数据中获取它们的坐标,并从中获取DateTimeOriginal,该数据返回如下字符串: 然后将它们保存在数组中,以便与地图上的路径进一步连接 为了正确连接地图上的标记,我无法按时间戳对该数组进行排序: 如何按时间戳排序?日期似乎无效。 如果它的格式是这样的(“2012/10/24 16:37:44”),您可以这样做: const a = new Date("2012/10/2

我正在开发一个Angular web服务,用于创建照片旅行并使用传单将其显示在地图上。 当我上传图片时,我从EXIF数据中获取它们的坐标,并从中获取DateTimeOriginal,该数据返回如下字符串:

然后将它们保存在数组中,以便与地图上的路径进一步连接

为了正确连接地图上的标记,我无法按时间戳对该数组进行排序:


如何按时间戳排序?

日期似乎无效。 如果它的格式是这样的(“2012/10/24 16:37:44”),您可以这样做:

const a = new Date("2012/10/24 16:37:44").getTime();
例如,您可以映射此数组中的项

function sortNumber(a,b) {
    return a - b;
}

items.map(item => new Date(item.timestamp).getTime()).sort(sortNumber);

似乎日期无效。 如果它的格式是这样的(“2012/10/24 16:37:44”),您可以这样做:

const a = new Date("2012/10/24 16:37:44").getTime();
例如,您可以映射此数组中的项

function sortNumber(a,b) {
    return a - b;
}

items.map(item => new Date(item.timestamp).getTime()).sort(sortNumber);
我所做的可能重复的可能重复是替换时间戳字符串中的:并使其适合解析为日期对象,然后按日期对数组排序:
sortMarkers(){this.currentMarkers.map(m=>{let mTimestamp:string=m.timestamp.substring(0,10);mTimestamp=mTimestamp.replace(/:/g,,-);m.timestamp=mTimestamp+m.timestamp.substring(10);m.date=new date(m.timestamp);};this.currentmarks=this.currentmarks.sort(函数(a,b){return a.date-b.date;});}
我所做的是替换时间戳字符串中的:,并使其适合解析为日期对象,然后按日期对数组进行排序:
sortMarkers(){this.currentMarkers.map(m=>{let mTimestamp:string=m.timestamp.substring(0,10);mTimestamp=mTimestamp.replace(/:/g,'-'));m.timestamp=mTimestamp+m.timestamp.substring(10);m.date=newdate(m.timestamp);});this.currentmarks=this.currentmarks.sort(函数(a,b){return a.date-b.date;});}