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

 JavaScript  2022-12-09  admin  875  1181

/**
 * js 数组对象根据指定字段排序
 * @param list
 * @param key
 * @param type
 * @author centphp.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

相关推荐


systemctl 使用

Systemd是Linux系统工具,用来启动守护进程,已成为大多数发行版的标准配置。而systemctl是Systemd的主命令,用于管理系统。其实我们大部分服务都有使用systemctl管理,比如MySQL、Nginx等等。常见配置如下:[Unit] #单元描述 Description=GFAPP #在什么服务启动之后再执行本程序 After=mysql.service [Serv

php redis 分布式锁

Redis 分布式锁是一种使用 Redis 数据库来实现的同步机制,用于在分布式系统中保证多个进程或线程对共享资源的互斥访问。Redis 分布式锁的基本原理是使用 Redis 的 SETNX 命令来尝试设置一个键,如果这个键不存在,那么获取锁成功,否则获取锁失败。获取锁成功后,需要设置锁的过期时间,以防止锁被永久占用。释放锁时,需要删除这个键。Redis 分布式锁有一些优点和缺点:优点:Redis

go 生成密码 php的 password_hash go实现

packagemain import( "fmt" "golang.org/x/crypto/bcrypt" ) funcmain(){ hashedPassword:=passwordHash("123456") fmt.Println(hashedPassword) hashedPassword=

go 空接口类型的变量的使用

// interface{} 在 Go 中是一个特殊的类型,表示任何类型,类似于 C# 中的 object 类型或 Java 中的 Object 类型。// 它可以接收任何类型的值,但如果我们需要使用其原始类型的值,我们需要进行类型断言。packagemain import( "fmt" ) funcmain(){ //定义一个空接口类型的变量可以给空接口