• 记录一个排序方法


    var list = [
      {
        name: "1",
        age: "2",
        chi: "2",
      },
      {
        name: "2",
        age: "3",
        chi: "4",
      },
      {
        name: "2",
        age: "4",
        chi: "8",
      },
      {
        name: "1",
        age: "2",
        chi: "2",
      },
      {
        name: "1",
        age: "8",
        chi: "4",
      },
      {
        name: "2",
        age: "7",
        chi: "3",
      },
      {
        name: "2",
        age: "5",
        chi: "7",
      },
      {
        name: "2",
        age: "3",
        chi: "2",
      },
      {
        name: "1",
        age: "6",
        chi: "2",
      },
    ];
    const skuSort = {
      name: ["9", "8", "7", "6", "5", "4", "3", "2", "1"],
      age: ["9", "8", "7", "6", "5", "4", "3", "2", "1"],
      chi: ["1", "2", "3", "4", "5", "6", "7", "8", "9"],
    };
    const attributeArr = [
      {
        propertyId: "name",
      },
      {
        propertyId: "age",
      },
      {
        propertyId: "chi",
      },
    ];
    
    var c = sortFn(skuSort, list, 0);
    c;
    
    function sortFn(skuSort, list, index) {
      if (index >= attributeArr.length) return list;
      const propertyName = attributeArr[index].propertyId;
      const sortArr = skuSort[propertyName];
    
      return sortArr.reduce((arrs, item) => {
        // 筛序出当前排序的数据
        let curRow = list.filter((v) => v[propertyName] === item);
    
        curRow = sortFn(skuSort, curRow, index + 1);
        // 分别对数据进行合并单元格数量的处理
        curRow = curRow.map((curt, index) => {
          if (index === 0) {
            curt[`${propertyName}_rowSpan`] = curRow.length;
          } else {
            curt[`${propertyName}_rowSpan`] = 0;
          }
          return curt;
        });
        // 合并数据
        return [...arrs, ...curRow];
      }, []);
    }
    
    
  • 相关阅读:
    WCF异常管理—不要在using语句中调用WCF服务(z)
    正则表达式
    nginx汇总(z)
    WCF编解码实现
    zTree -- jQuery 树插件
    C# 程序异常管理方案
    WPF剪切板问题-OpenClipboard HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN))
    乘法逆元
    二叉树后序遍历(非递归)
    P1892 [BOI2003]团伙
  • 原文地址:https://www.cnblogs.com/yzyh/p/15019748.html
Copyright © 2020-2023  润新知