zoukankan      html  css  js  c++  java
  • 哥哥写的例子(后台没有进行排序分组的时候,前台进行自己分组)

        //原始数据,后台没有进行排序的
    var rowData=[
            {data:2,date:'01',code:'cr_2',name:'桥吊2'},
            {data:1,date:'03',code:'cr_1',name:'桥吊1'},
            {data:4,date:'06',code:'cr_1',name:'桥吊3'},
            {data:111,date:'09',code:'cr_1',name:'桥吊1'},
            {data:212,date:'02',code:'cr_2',name:'桥吊2'},
            {data:222,date:'03',code:'cr_2',name:'桥吊2'},
            {data:11,date:'07',code:'cr_1',name:'桥吊1'}
        ];
        //需要的数据
        var result1=[
            {name:"cr_1",data:[1,4,11,111]},
            {name:"cr_2",data:[2,212,222]}
        ];
        //=========================================================
        //1.数组添加元素
        var newAry = [];
        for(var i=0;i<rowData.length;i++){
            //1.判断数组中是否包含该元素,不包含则添加,包含则追加子元素
            var result = fun_IsExists(newAry,rowData[i].code);
            if(result.flag){
                newAry[result.index].data.push(rowData[i].data);
            }else{
                newAry.push({
                    name:rowData[i].code,
                    data:[rowData[i].data]
                });
            }
            newAry.push();
        }
        
        //debugger;
        //2.对象数组排序(将cr_1根据名字进行排序)
        newAry.sort(compare("name")); 
        //判断是否存在
        function fun_IsExists(newAry,name){
            var flag = false;
            var index = -1;
            for(var i=0;i<newAry.length;i++){
                if(newAry[i].name == name){
                    index = i;
                    flag = true;
                    break;
                }
            }
            return {
                flag:flag,
                index:index
            };
        }
        //排序
        function compare(prop) {
           return function (obj1, obj2) {
                var val1 = obj1[prop];
                var val2 = obj2[prop];if (val1 < val2) {
                    return -1;
                } else if (val1 > val2) {
                    return 1;
                } else {
                    return 0;
                }            
            }
        }
  • 相关阅读:
    linux创建用户和组
    ftp上来显示的时间和系统时间不一致
    在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)
    关于业务主键和逻辑主键
    git push 提示
    浏览器默认样式
    css实现缩进无限嵌套
    使用设置报头x-Frame-Options限制iframe网页嵌套
    chrome控制台小技巧
    git版本库底层命令
  • 原文地址:https://www.cnblogs.com/pengfei25/p/7841436.html
Copyright © 2011-2022 走看看