问题遇到的现象和发生背景
树的级数排序由sortNum这个字段来决定(一级:1, 二级1.1 ,三级1.1.1 ) ,在删除其中一个子级后,如何给剩下的子级重新赋值排序
例如1.1级下有1.1.1, 1.1.2, 1.1.3, 1.1.4四个子级,删除1.1.1这个子级后,如何给剩下的子级重新赋值排序,也就是将剩下的(1.1.2,1.1.3,1.1.4)重新赋值为(1.1.1,1.1.2,1.1.3) 求赐教!
我想要达到的结果
删除其中一个子级后,给剩下的子级重新赋值排序
树的级数排序由sortNum这个字段来决定(一级:1, 二级1.1 ,三级1.1.1 ) ,在删除其中一个子级后,如何给剩下的子级重新赋值排序
例如1.1级下有1.1.1, 1.1.2, 1.1.3, 1.1.4四个子级,删除1.1.1这个子级后,如何给剩下的子级重新赋值排序,也就是将剩下的(1.1.2,1.1.3,1.1.4)重新赋值为(1.1.1,1.1.2,1.1.3) 求赐教!
删除其中一个子级后,给剩下的子级重新赋值排序
如果是数据类型 请贴出数据来 这是我处理的 一级 二级 三级 你可以试试
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
let arr = [
{
label: "一级 1",
sortNum: "1",
children: [
{
sortNum: "1.1",
label: "二级 1-1",
children: [
{
sortNum: "1.1.1",
label: "三级 1-1-1",
},
{
sortNum: "1.1.2",
label: "三级 1-1-2",
},
{
sortNum: "1.1.3",
label: "三级 1-1-3",
},
{
sortNum: "1.1.4",
label: "三级 1-1-4",
},
],
},
{
sortNum: "1.2",
label: "二级 2-1",
children: [
{
sortNum: "1.2.1",
label: "三级 1-2-1",
},
{
sortNum: "1.2.2",
label: "三级 1-2-2",
},
{
sortNum: "1.2.3",
label: "三级 1-2-3",
},
{
sortNum: "1.2.4",
label: "三级 1-2-4",
},
],
},
],
},
{
label: "一级 2",
sortNum: "2",
children: [
{
sortNum: "2.1",
label: "二级 2-1",
children: [
{
sortNum: "2.1.1",
label: "三级 2-1-1",
},
{
sortNum: "2.1.2",
label: "三级 2-1-2",
},
{
sortNum: "2.1.3",
label: "三级 2-1-3",
},
{
sortNum: "2.1.4",
label: "三级 2-1-4",
},
],
},
],
},
];
function removeindex(value) {
let newarr = [],
index = 0;
let resolution = value.split(".");
console.log(resolution, "==");
if (resolution.length == 1) {
// 第一层内容
arr.forEach((item) => {
index++;
if (item.sortNum != value) {
item.sortNum = String(index);
newarr.push(item);
}
});
} else if (resolution.length == 2) {
console.log("value", value);
// 第一层内容
arr.forEach((item) => {
index = 0;
item.children = item.children.filter((zitem) => {
index++;
if (zitem.sortNum != value) {
zitem.sortNum = item.sortNum + "." + index;
return zitem;
}
});
newarr.push(item);
});
} else if (resolution.length == 3) {
arr.forEach((item) => {
item.children.forEach((zitem) => {
index = 0;
zitem.children = zitem.children.filter((sitem) => {
index++;
if (sitem.sortNum != value) {
sitem.sortNum = zitem.sortNum + "." + index;
return sitem;
}
});
});
newarr.push(item);
});
}
return newarr;
}
console.log(removeindex("1.1"));
</script>
</body>
</html>