从嵌套对象数组中删除项目

时间:2013-09-02 11:39:18

标签: javascript angularjs multidimensional-array

我正在使用AngularJS并在我的控制器中有一个像这样的对象数组:

$scope.folderList = [{
    name: 'root',
    path: 'uploads/',
    subs: [{
        name: 'pictures',
        path: 'uploads/pictures',
        subs: [{
            ...
        }]
    }, {
        name: 'videos',
        path: 'uploads/videos',
        subs: [{
            ...
        }]
    }]
}];

对于这个嵌套数组,我有2个指令在带有ng-repeat的嵌套UL LI列表中设置它们。

现在我有了嵌套的文件夹列表,我想触发一个删除所选文件夹的功能。

所以我用参数中的“folder”触发我的函数删除,例如,如果我在图片文件夹上触发“删除”功能,那么文件夹参数将是这样的:

folder = {
    name: 'pictures',
    path: 'uploads/pictures',
    subs: [{ ... }]
}

我想从嵌套数组中删除这个对象。

使用1级对象数组,我使用:

var index = $scope.folderList.indexOf(folder);
delete $scope.folderList.splice(index, 1);

但它(显然)不适用于嵌套数组!

如何在JavaScript(或AngularJS?)

上轻松删除嵌套数组中的条目

我听说过underscore.js是为此而制作的,但我从未使用它,在看到他们的文档之后我无法找到合适的功能来做到这一点!

感谢您的帮助!

0 个答案:

没有答案