0

私はAngularJSを使用しており、コントローラーにそのようなオブジェクト配列があります:

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

このネストされた配列の場合、ng-repeat を使用してネストされた UL LI リストにそれらを設定する 2 つのディレクティブがあります。

これで、フォルダーのネストされたリストができました。選択したフォルダーを削除する関数をトリガーしたいと考えています。

したがって、パラメーターに「フォルダー」を指定して削除する関数をトリガーします。たとえば、写真フォルダーで「削除」関数をトリガーすると、フォルダーパラメーターは次のようになります。

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

そして、ネストされた配列からこのオブジェクトを削除したいと思います。

1レベルのオブジェクト配列では、これを使用します:

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

しかし、(明らかに) ネストされた配列では機能しません!

JavaScript (または AngularJS ?) でネストされた配列からエントリを簡単に削除するにはどうすればよいですか?

underscore.js がこのために作られたと聞いたことがありますが、私はそれを使用したことがなく、ドキュメントを見た後、これを行うための適切な関数を見つけることができませんでした!

ご協力いただきありがとうございます !

4

0 に答える 0