JS实现表格数据上移下移

本文介绍了如何在大数据列表中添加功能,以便用户对数据进行权重划分和查找。主要展示了两个关键函数:用于比较对象相等的isEqual函数和处理数据移动(上移和下移)的moveUp和moveDown函数,强调了代码的复用性和可扩展性。附有相关代码及操作效果示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

根据客户的使用感受来提出的需求,存在数据量大的列表中需要添加此功能。方便用户对数据权重的进行划分,方便用户查找数据。我将从以下几个方面介绍如何完成这个需求。

二、代码

代码给出重要部分的,下面会有相关的代码注解,如果有什么疑问,欢迎提问。如果有什么更好的解决方式,那就更好了。欢迎各位大佬指教。

        // 定义一个函数,用来比较两个对象是否相等
        isEqual: function (obj1, obj2) {
            return JSON.stringify(Object.entries(obj1).sort()) === JSON.stringify(Object.entries(obj2).sort());
       },
      // 定义一个函数,用来在数组中查找对象的索引
        findIndex: function (arr, obj) {
            return arr.findIndex(item => ArgsObj.isEqual(item, obj));
        },
        moveUp: function (oldList, newList, attr, id) {//oldList是指所有数据,newList是指选中的数据,attr是属性,id这里没有用到可以省略
            var arr = [];
            var index = 0;
            var argsArrIndex = [];//这个存放的是移动后,选中的数据的下表
            newList = oldList.filter(item => newList.some(newItem => item[attr] === newItem[attr]));
            var indexes = newList.map(item => ArgsObj.findIndex(oldList, item));
            //超出边界
            if (indexes.some(value => (value == 0)) && ArgsObj.isContinuousArray(indexes)) {
                return;
            }
            if (indexes.some(value => value > 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值