JavaScript之递归删除去掉属性入坑splicedelete$deleteforEachrecursionchildren
Posted web半晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之递归删除去掉属性入坑splicedelete$deleteforEachrecursionchildren相关的知识,希望对你有一定的参考价值。
目录
1、数据源
let datas = [
id: 1,
nulls: "null",
,
id: 2,
children: [
id: 4,
,
id: 5,
nulls: "null",
,
id: 6,
children: [
id: 7,
nulls: "null",
,
id: 8,
,
id: 9,
children: [
id: 11,
nulls: "null",
,
id: 12,
children: [
id: 17,
nulls: "null",
,
id: 18,
,
],
,
id: 13,
children: [
id: 15,
nulls: "null",
,
id: 16,
,
],
,
id: 14,
,
],
,
id: 10,
,
],
,
],
,
id: 3,
,
];
2、递归
function recursion(data)
data.forEach((item, i) =>
if (item.nulls)
console.log(item.nulls, i);
// -------------------在递归中无法使用这两个API-------------------
// data.splice(i, 1);
// this.$delete(data, i); // 这是vue中的delete方法
// delete item;
// -------------------在递归中无法使用这两个API-------------------
// 解决
// 通过自定义属性设置元素的显示与隐藏
item.isShow = true;
if (item.children) recursion(item.children);
);
recursion(data);
以上是关于JavaScript之递归删除去掉属性入坑splicedelete$deleteforEachrecursionchildren的主要内容,如果未能解决你的问题,请参考以下文章