js 数组对象根据指定字段排序

 JavaScript  2022-12-09  admin  956  1290

/**
 * js 数组对象根据指定字段排序
 * @param list
 * @param key
 * @param type
 * @author code.cent123.com
 */
function objectSort(list, key, type) {
    type = type || 'asc'
    list.sort(function (a, b) {
        if (type === 'desc') {
            return b[key] - a[key];
        } else {
            return a[key] - b[key]
        }
    });
}

使用:

var list = [
        {"id": 1, "name": "北京"},
        {"id": 9, "name": "江苏"},
        {"id": 2, "name": "上海"},
        {"id": 100, "name": "浙江"},
        {"id": 3, "name": "深圳"},
    ];

    objectSort(list, 'id');
    console.log(list);
    
    //var list2 = list; //错误 js Object为引用类型, 用=复制会造成改变一个全都变动
    var list2 = JSON.parse(JSON.stringify(list));
    
    objectSort(list2, 'id', 'desc');
    console.log(list2);


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

js 数组对象根据指定字段排序 —— code.cent123.com

相关推荐


Android各个版本与API等级之间的对应关系

API等级 1 - 3:Android 1.0 (Astro,也被称为“铁臂阿童木”)Android 1.1 (Petit Four,即“花色小蛋糕”)Android 1.5 (Cupcake)API等级 4:Android 1.6 (Donut)API等级 5 - 7:Android 2.0/2.0.1/2.1 (Éclair)API等级 8:Android 2.2/2.2.3 (Froyo)A

Systemd Web 管理系统:简化服务管理

# Systemd Web Systemd Web 是一个 Systemd 的 Web UI 管理系统,通过直观的界面和易用的操作,让用户能够轻松地管理 Linux 系统和服务。该项目旨在简化 Systemd 的使用,使得无论是专业的系统管理员还是普通的用户,都能够方便地对系统进行操作。 ## [github地址] (https://github.com/topascend/systemd

linux 系统最简单的安装 go 开发环境步骤

1. 官网下载放在 /godev 目录https://golang.google.cn/dl/或wget https://dl.google.com/go/go1.22.2.linux-amd64.tar.gz或curl -O https://dl.google.com/go/go1.22.2.linux-386.tar.gz2. 解压tar -xvf go1.22.2.linux-amd64.t

esp32 使用mqtt 通讯

esp32 使用mqtt 通讯基于go的mqtt 客户端packagemain import( "fmt" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/frame/g" "gobot.io/x/gobot" &qu