使用sort对表格列的顺序进行重新排序

1.需求

很多时候,后台返回的数据应用到表格中,展示出列的先后顺序可能与期望的不一致,这时候可以对列数组进行重新排序。

2.原理

创建一个数组来定义优先级,然后根据这个优先级对原数组进行排序

3.代码实现

let array = [
    { label: "序号", prop: "Id", isVisable: true },
    { label: "设备号", prop: "EquipName" },
    { label: "故障描述", prop: "FaultContent" },
    { label: "时间", prop: "Time" },
    { label: "状态", prop: "Status" }
];

// 定义优先级数组
const priorityOrder = ["EquipName", "Time", "Status"];

// 使用 sort 方法进行排序
array.sort((a, b) => {
    const indexA = priorityOrder.indexOf(a.prop);
    const indexB = priorityOrder.indexOf(b.prop);
    
    // 如果在优先级数组中找到,返回相应的索引
    // 如果找不到,则认为它的优先级最低
    if (indexA === -1 && indexB === -1) return 0; // 都不在优先级中,保持顺序
    if (indexA === -1) return 1; // a 在 b 后面
    if (indexB === -1) return -1; // b 在 a 后面
    return indexA - indexB; // 根据索引排序
});

console.log(array);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值