在使⽤ ant-design 时,要实现表格的列固定只需加 fixed 属性即可,但如果固定列不在最前⾯,会导致样式混乱。
所以就变成了数组的排序问题了,将符合条件的项放⾄数组最前,其余列相对位置不变。抽象⼀下: // 将数组中的偶数排在最前,并保持相对位置,期望输出: [2,4,6,1,7,3,9]
let a =[1,2,4,7,3,6,9];
⾸先想到的是暴⼒输出,就是两个数组分别保存偶数和奇数,最终拼起来。
// 暴⼒输出
let result = a.reduce((acc, cur)=>{
苹果灯
if(acc.length ==0) acc =[[],[]];北斗信号源
if(cur%2) acc[1].push(cur)
else acc[acc[0]].push(cur)
return acc
},[])
子液位计result = result.flat();
console.log(result);
⼀般情况⽤上⾯的完全可以,考虑到空间问题,⼜要兼顾稳定,就⽤插⼊排序思想来做:网络采集
let l = a.length;
let i =0;// 遍历索引
let s =0;// 记录已排序位置
while(i<l){
if(a[i]%2==0){
let k = i;
电动拖布while(k<s){// ⾃后向前元素向右移动
[a[k], a[k-1]]=[a[k-1], a[k]]
k--;裹尸袋
}
s++
}
i++
}
console.log(a);