微信小程序js数组对象根据某个字段排序

一、排序栗子

注: 属性字段需要进行转换,如String类型或者Number类型

java 复制代码
//升序排序  首元素(element1)在前   降序则(element1)元素在后
data = data.sort((element1, element2) =>
      element1.属性 - element2.属性
);

二、代码

html 复制代码
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: [
      {'id': 1,"age": 10,"name": "黑大帅"},
      {'id': 3,"age": 5,"name": "懒洋洋"},
      {'id': 2,"age": 7,"name": "小灰灰"},
    ],
    location: [
      {'id': 3334,'km': '142.14KM','address': '上海市-黄埔区-打浦路1号'},
      {'id': 3399,'km': '145.73KM','address': '上海市-黄浦区-中山东二路'},
      {'id': 5865,'km': '142.98KM','address': '上海市黄浦区徐家汇268号luOne凯德晶萃广场'},
    ]
  },

  sortArray() {
    console.log("位置信息:");
    console.log(this.data.location);
    console.log("用户信息:");
    console.log(this.data.user);

    console.log("排序后数据===============================");

    console.log("位置信息:");
    //根据距离从小到大排序
    let locationSort = []
    locationSort = this.data.location.sort((el1, el2) =>
      el1.km.split("KM")[0] - el2.km.split("KM")[0]
    );
    console.log(locationSort);
    
    console.log("用户信息:");
    // 根据年龄从大到小排序
    let userSort = []
    userSort = this.data.user.sort((item1, item2) =>
      item2.age-item1.age
    );
    console.log(userSort);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    that.sortArray()
  },

})
  • 排序前数据(乱序输出)
  • 排序后数据(
  • 用户根据年龄从大到小输出,
  • 位置根据km从小到大输出)
相关推荐
步十人2 分钟前
【Vue】认识单文件组件与模板语法
前端·javascript·vue.js
shuoshuohaohao12 分钟前
《JavaScript》
开发语言·前端·javascript
编程猪猪侠26 分钟前
基于uni-app-x 与 uni-app 的安卓与 H5 双向通信完整实现
android·javascript·uni-app
光影少年38 分钟前
react中的Context 为什么会导致性能问题?
前端·javascript·react.js
Z_Wonderful41 分钟前
react部署更新后旧 chunk 404、用户浏览器缓存旧页面的问题与(路由跳转使用相对路径而不是绝对路径的关系)分析,并提供解决方案
javascript·react.js·缓存
kiritomzzz1 小时前
Vue 插槽(Slot)全解析:从 Vue2 到 Vue3 核心用法与案例
前端·javascript·vue.js
漂流瓶jz9 小时前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack
ZC跨境爬虫9 小时前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
Moment11 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
kyriewen13 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试