企业官网建站 小程序开发 云逸学习园地
技术文章 许愿墙
技术文章 PHP学习 Javascript学习 DIV+CSS学习 uniapp学习 HTML学习 微信小程序、公众号知识点 VUE知识学习
您所在的位置>云逸小栈>Javascript学习>正文

js对象数组按照某个字段进行排序,用自定义函数实现方法

2024-04-26 10:11:41 浏览 2124

原始数据:

var md= [
{
id: 208, title: "胡小达自助台球", names: "罗威妮", phone: "18709290555", province: "110000", city: "110100",…}
address: "5555555"
city: "110100"
config: {tq_price: 30, tq_vip_price: 0.01, mj_price: 25, mj_vip_price: 0.01, yy_price: 0.01}
mj_price: 25
mj_vip_price: 0.01
tq_price: 30
tq_vip_price: 0.01
yy_price: 0.01
coordinates: "39.917537469612526, 116.39727115631104"
county: "110101"
distance: "909.1"
eq1: 6
eq2: 0
id: 208
names: "罗威妮"
phone: "18709290555"
province: "110000"
storerecruit: "/Upload/Images/2024-04-20/20240420120617_67908.jpg"
title: "胡小达自助台球"
unit: "km"
},
{
id: 207, title: "胡小达自助台球", names: "罗威妮", phone: "18709290555", province: "110000", city: "110100",…}
address: "5555555"
city: "110100"
config: {tq_price: 30, tq_vip_price: 0.01, mj_price: 25, mj_vip_price: 0.01, yy_price: 0.01}
mj_price: 25
mj_vip_price: 0.01
tq_price: 30
tq_vip_price: 0.01
yy_price: 0.01
coordinates: "39.917537469612526, 116.39727115631104"
county: "110101"
distance: "800.1"
eq1: 6
eq2: 0
id: 208
names: "罗威妮"
phone: "18709290555"
province: "110000"
storerecruit: "/Upload/Images/2024-04-20/20240420120617_67908.jpg"
title: "胡小达自助台球"
unit: "km"
},
]

自定义函数:

compare(property) {
  return (firstobj, secondobj) => {
     //1、未格式化数据排序处理方式
// const firstValue = firstobj[property];
// const secondValue = secondobj[property];
//2、取消格式化数据 变为普通数字进行排序
const firstValue = parseFloat(firstobj[property].replace(/[^\d\.-]/g, ""))
const secondValue = parseFloat(secondobj[property].replace(/[^\d\.-]/g, ""))
return firstValue - secondValue; //升序
  };
},
//排序方法:
md = md.sort(this.compare("distance"))

即可实现:关键函数是:compare()


网站开发者电话

18066742510

个人微信号
个人公众号
个人小程序
个人抖音