title: JS: Remove object from nested array and return parent array
body: <p>How do I remove the object in my array subBrands that is nested inside another array where the id property of an object is = to 31. I'm trying to get the whole parent array back without that subBrand removed. </p>
  
  <p>Array is:</p>
  
  <pre><code>[
    {
      "id": 10,
      "name": "Parent Brand 1",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 09:55:51",
      "updated_at": "2017-02-02 09:55:51",
      "subBrands": [
        {
          "id": 31,
          "name": "Sub Brand 6",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:24:49",
          "updated_at": "2017-02-02 11:42:02"
        },
        {
          "id": 32,
          "name": "Sub Brand 7",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:24:57",
          "updated_at": "2017-02-02 11:42:18"
        },
        {
          "id": 33,
          "name": "Sub Brand 8",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:25:04",
          "updated_at": "2017-02-02 11:42:34"
        },
        {
          "id": 34,
          "name": "Sub Brand 9",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:25:39",
          "updated_at": "2017-02-02 11:42:43"
        },
        {
          "id": 35,
          "name": "Sub Brand 10",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:25:46",
          "updated_at": "2017-02-02 11:42:52"
        },
        {
          "id": 36,
          "name": "Sub Brand 4",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:43:53",
          "updated_at": "2017-02-02 11:43:53"
        }
      ]
    },
    {
      "id": 12,
      "name": "Parent Brand 2",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 09:56:16",
      "updated_at": "2017-02-02 09:56:16",
      "subBrands": []
    },
    {
      "id": 16,
      "name": "Brand no children",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 10:37:40",
      "updated_at": "2017-02-02 10:37:40",
      "subBrands": []
    },
    {
      "id": 37,
      "name": "Whoops brand",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 11:44:10",
      "updated_at": "2017-02-02 11:44:10",
      "subBrands": []
    }
  ]
  </code></pre>
  
  <p>What I'm trying to get is:</p>
  
  <pre><code>[
    {
      "id": 10,
      "name": "Parent Brand 1",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 09:55:51",
      "updated_at": "2017-02-02 09:55:51",
      "subBrands": [
        {
          "id": 32,
          "name": "Sub Brand 7",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:24:57",
          "updated_at": "2017-02-02 11:42:18"
        },
        {
          "id": 33,
          "name": "Sub Brand 8",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:25:04",
          "updated_at": "2017-02-02 11:42:34"
        },
        {
          "id": 34,
          "name": "Sub Brand 9",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:25:39",
          "updated_at": "2017-02-02 11:42:43"
        },
        {
          "id": 35,
          "name": "Sub Brand 10",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:25:46",
          "updated_at": "2017-02-02 11:42:52"
        },
        {
          "id": 36,
          "name": "Sub Brand 4",
          "parent": 10,
          "author": 1,
          "deleted_at": null,
          "created_at": "2017-02-02 11:43:53",
          "updated_at": "2017-02-02 11:43:53"
        }
      ]
    },
    {
      "id": 12,
      "name": "Parent Brand 2",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 09:56:16",
      "updated_at": "2017-02-02 09:56:16",
      "subBrands": []
    },
    {
      "id": 16,
      "name": "Brand no children",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 10:37:40",
      "updated_at": "2017-02-02 10:37:40",
      "subBrands": []
    },
    {
      "id": 37,
      "name": "Whoops brand",
      "parent": null,
      "author": 1,
      "deleted_at": null,
      "created_at": "2017-02-02 11:44:10",
      "updated_at": "2017-02-02 11:44:10",
      "subBrands": []
    }
  ]
  </code></pre>
  
  <p>I'm open to using underscores. The closest I'm come is:</p>
  
  <pre><code>    var brands = _.filter(brands, function(n) { 
          return _.some(n.subBrands, function(subBrand){ 
              return subBrand.id != brand.id;
          });
      });
  </code></pre>
  
  <p>But that removes the arrays that don't contain a subBrand with an id of 31. So it's not very close to what I need.</p>
  
  <p>Cheers!</p>