改变一个数组内元素的位置,不通过splice方法。

这个数据

现在已经完成了,将本来在第一位的18代金券改到第31位,下面说一下怎么实现的。

//currHotRightsTypeSorted这个是数据源头,legalRightsType这个是数据的分类,因为18元代金券只在两个分类中
//1对数据进行遍历,找打需要分类中某个元素并赋值给一个新的元素,以后用,并删除他,通过他的i值。
//2如果数据分类数据中的长度小于31位时,放到最后一位。
  currHotRightsTypeSorted.forEach((num: any) => {
            let tmp = '';
            if (num.legalRightsType == '1015' || num.legalRightsType == '----') {
              for (let i = 0; i < num.list.length; i++) {
                if (num.list[i].legalRightsNbr === 'QY1622613823700') {
                  tmp = num.list.splice(i, 1);
                }
              }
              if (num.list.length >= 31) {
                num.list.splice(30, 0, tmp[0]);
              } else {
                num.list.push(tmp[0]);
              }
            }
          });

posted @ 2022-04-21 18:20  xuelin  阅读(31)  评论(0编辑  收藏  举报