- 暂时写一点加一点吧
- 按照对象数组中某一个属性来进行分组
arrayGroupBy(
list: any[],
groupId: string
): Array<{ key: string; list: any[] }> {
let listArr = Object.entries(list.groupBy((o) => o[groupId])).map(
([key, list]) => ({
key,
list,
})
);
return listArr;
},
- 根据两点间经纬度坐标计算两点间距离,单位:输出为米
rad(angle: number) {
let radian = (angle * Math.PI) / 180;
return radian;
}
getDistance(lng1: number, lat1: number, lng2: number, lat2: number) {
let earchRadius = 6378137.0;
let s =
2 *
Math.asin(
Math.sqrt(
Math.pow(
Math.sin((this.rad(lat1) - this.rad(lat2)) / 2),
2
) +
Math.cos(this.rad(lat1)) *
Math.cos(this.rad(lat2)) *
Math.pow(
Math.sin((this.rad(lng1) - this.rad(lng2)) / 2),
2
)
)
);
s = earchRadius * s;
s = Math.ceil(Math.round(s * 10000) / 10000);
return s;
},
import dayjs from 'dayjs';
dateToString(date: Date, fmt: string) {
if (date) return dayjs(date).format(fmt);
},