この変数に$ scope.bbTreeDataというJSONオブジェクトがあります。フラグがfalseのオブジェクトを削除しようとしています。入れ子になったJSONオブジェクトをトラバースすることはできますが、オブジェクトを削除する方法がわかりません。なにか提案を ?インデックスを追加し、あなたがルートを削除したい場合はHow do I remove a property from a JavaScript object?Nested JSON、angularjsを使用してJqueryの条件に基づいてオブジェクトを削除します。
:私はのための答えがすでに存在していると信じて
delete item.subItem[index]
:あなたは、プレーンJavaScriptでdelete
キーワードを使用することができます
[{
"market": "Atl",
"subItem": [{
"comment_id": "1",
"user_id": "32509",
"flag": true
}, {
"comment_id": "2",
"user_id": "32510",
"flag": false
}]
}, {
"market": "Chicago",
"subItem": [{
"comment_id": "3",
"user_id": "32501",
"flag": true
}, {
"comment_id": "4",
"user_id": "32502",
"flag": false
}]
}]
$scope.bbTreeInactiveData = angular.copy($scope.bbTreeData);
angular.forEach($scope.bbTreeInactiveData, function(item) {
angular.forEach(item.subItem, function(record, index) {
if (record.flag == false) {
console.log(item.subItem, index);
/* code to remove the object*/
}
});
});
Array.forEachの代わりにArray.filterを使用します。または、Array.splice – Shilly