1. Home
  2. Docs
  3. node.js
  4. 数组

数组

连接两个数组

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);

console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]

相关资料: 文档: prototype.concat

分组

let ListData =
[{ StEntId: 1, StEntName: '企业名称企业名称', EsGrade: 1, OrderDt: '2019-12-01' },
{ StEntId: 1, StEntName: '企业名称企业名称', EsGrade: 4, OrderDt: '2019-12-02' },
{ StEntId: 2, StEntName: '企业名称企业名称', EsGrade: 5, OrderDt: '2019-12-03' },
{ StEntId: 2, StEntName: '企业名称企业名称', EsGrade: 7, OrderDt: '2019-12-04' }];

const  groupBy = (array, f) => {
    let groups = {};
    array.forEach(function (o) {
        var group = JSON.stringify(f(o));
        groups[group] = groups[group] || [];
        groups[group].push(o);
    });
    return Object.keys(groups).map(function (group) {
        return groups[group];
    });
};

const arrayGroupBy = (list, groupId) => {
    let sorted = groupBy(list, function (item) {
        return [item[groupId]];
    });
    return sorted;
};

arrayGroupBy(ListData,'StEntId');

输出结果

[
    [
        {
            "StEntId": 1,
            "StEntName": "企业名称企业名称",
            "EsGrade": 1,
            "OrderDt": "2019-12-01"
        },
        {
            "StEntId": 1,
            "StEntName": "企业名称企业名称",
            "EsGrade": 4,
            "OrderDt": "2019-12-02"
        }
    ],
    [
        {
            "StEntId": 2,
            "StEntName": "企业名称企业名称",
            "EsGrade": 5,
            "OrderDt": "2019-12-03"
        },
        {
            "StEntId": 2,
            "StEntName": "企业名称企业名称",
            "EsGrade": 7,
            "OrderDt": "2019-12-04"
        }
    ]
]

相关资料

算法:JS对象数组根据某属性分组方法

JavaScript 中的数组分组:array.groupBy()

文档: groupBy

Tags ,
Was this article helpful to you? Yes No

How can we help?