zoukankan      html  css  js  c++  java
  • 根据数组对象中的某个属性值排序

    最近做项目,后台返回的数组对象没有排序,而我需要根据序号将数据显示在页面上,但是不想一个一个取值,想到对数组对象排序后然后直接循环显示。数据结构如下:

     现在需要升序排列,用sort()方法,

    sort()很常用的排序方法,最主要的是里面的比较函数参数,最重要的是定义一个比较函数如下:

    function creatCompare(propertyName) { //根据哪个属性值排序
        return function (obj1,obj2) {
            //对象两两比较
            let value1=obj1[propertyName];
            let value2=obj2[propertyName];
            if(value1<value2){
                return -1
            }else if(value1>value2){
                return 1
            }else {
                return 0
            }
        }
    }
    let familyconsumptions = familyInfoListinfo.familyconsumptions
            if (familyconsumptions) {
                let sortFamilyconsumptions = familyconsumptions.sort(creatCompare('familyconsumptionId'))
                console.log(sortFamilyconsumptions)
                for (let i = 0; i < sortFamilyconsumptions.length; i++) {
                    document.querySelectorAll('.familyconsumptions input')[i].value = sortFamilyconsumptions[i].consumptionData
                }
            }
    
            let familyincomeinfos = familyInfoListinfo.familyincomeinfos
            if (familyincomeinfos) {
                let sortFamilyincomeinfos = familyincomeinfos.sort(creatCompare('familyincomeId'))
                console.log(sortFamilyincomeinfos);
                for (let i = 0; i < sortFamilyincomeinfos.length; i++) {
                    document.querySelectorAll('.familyincomeinfos input')[i].value = sortFamilyincomeinfos[i].incomeData
                }
            }

    排序后的结果

     关于sort的介绍:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

    不积跬步无以至千里
  • 相关阅读:
    Git 之 git原理简介
    Django 之 富文本编辑器-tinymce
    Django 之 Ajax
    Django 之 分页
    Django 之 用redis存储session
    Django 之 自定义中间件
    python 之 多线程、多进程代码
    反转字符串
    青蛙跳台阶
    pandas 之 concat
  • 原文地址:https://www.cnblogs.com/lyt0207/p/12612894.html
Copyright © 2011-2022 走看看