如何重新排列数字或重置数字



我在这里要做的是,当item/data为Remove时,它将调整数字。

它将调整noFromnoTo中的数字。

当前的示例代码刚好减去1。

如何制作类似的数据

[
{noFrom: 1,noTo: 1},
{noFrom: 2,noTo: 2},
{noFrom: 3,noTo: 3},
{noFrom: 4,noTo: 7},
{noFrom: 8,noTo: 8},
{noFrom: 9,noTo: 9},
]

怎么样


const items = [
{noFrom: 1,noTo: 1,},
{noFrom: 2,noTo: 2,isRemove: true},
{noFrom: 3,noTo: 3,},
{noFrom: 4,noTo: 4,},
{noFrom: 5,noTo: 5,isRemove: true,},
{noFrom: 6,noTo: 9,},
{noFrom: 10,noTo: 10,},
{noFrom: 11,noTo: 11,},
];
let lt = [...items];
let removeCount = 0;
for(let i of lt) {
i.noFrom -= removeCount;
i.noTo -= removeCount;
if(i.isRemove) {
removeCount++;
}
}
lt = lt.filter(i => !i.isRemove);
console.log(lt);

生成以下代码:

[
{noFrom: 1,noTo: 1},
{noFrom: 2,noTo: 2},
{noFrom: 3,noTo: 3},
{noFrom: 4,noTo: 7},
{noFrom: 8,noTo: 8},
{noFrom: 9,noTo: 9},
]

最新更新