为了账号安全,请及时绑定邮箱和手机立即绑定

删除嵌套数组中的某一项

删除嵌套数组中的某一项

翻翻过去那场雪 2018-09-15 14:08:00
[{        "title": "parent",        "expanded": true,        "folder": true,        "id": "0",        "children": [          {            "title": "parent[0]",            "expanded": true,            "folder": true,            "id": "1",            "children": [              {"title": "Books",  "id": "2"},              {"title": "Kindle Books",  "id": "3"},              {"title": "Books For Study",  "id": "4"},              {"title": "Audiobooks",  "id":"5"}            ]          },          {            "title": "parent[1]", "id": "6", "folder": true, "children": [            {"title": "Music", "id": "7"},            {"title": "MP3 Downloads", "id": "8"},            {"title": "Musical Instruments & DJ", "id": "9"},            ]          }        ]      }]想根据id来删除数组中的某一项,数组长度不确定,是嵌套的,知道用递归。。但是不会写,哪位能帮忙写下。。
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

这样应该就可以了,你试试

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">

function call(arr,tag){

  for(var i = arr.length ; i > 0 ; i--){

      if(arr[i-1].id == tag){

        arr.splice(i-1,1);

      }else{

        if(arr[i-1].children){

          call(arr[i-1].children,tag)

        }

      }

  }

}

var arr = [{

'title': 'parent',

'expanded': true,

'folder': true,

'id': '0',

'children': [

  {

    'title': 'parent[0]',

    'expanded': true,

    'folder': true,

    'id': '1',

    'children': [

      {

        'title': 'Books',

        'id': '2'

      },

      {

        'title': 'Kindle Books',

        'id': '3'

      },

      {

        'title': 'Books For Study',

        'id': '4'

      },

      {

        'title': 'Audiobooks',

        'id': '5'

      }

    ]

  },

  {

    'title': 'parent[1]',

    'id': '6',

    'folder': true,

    'children': [

      {

        'title': 'Music',

        'id': '7'

      },

      {

        'title': 'MP3 Downloads',

        'id': '8'

      },

      {

        'title': 'Musical Instruments & DJ',

        'id': '9'

      },

    ]

  }

]

}];

call(arr,2);
console.dir(arr);

</script>
</body>
</html>


查看完整回答
反对 回复 2018-10-19
  • 1 回答
  • 0 关注
  • 729 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信