如果在Typescript中数组为空,则从嵌套数组中删除对象

问题描述 投票:0回答:2

如果嵌套数组为空,如何删除对象。就像我有一个数组:

pokemonGroups = [
    {
      name: 'Grass',
      pokemon: [
        'bulbasaur-0', 'Bulbasaur', 'oddish-1','Oddish','bellsprout-2', 'Bellsprout'
      ]
    },
    {
      name: 'Water',
      pokemon: [

      ]
    }]

所以在这里我们有一个空数组

{
   name: 'Water',
   pokemon: []
}

所以我想删除这个对象,我的数组应该像:

pokemonGroups = [
    {
      name: 'Grass',
      pokemon: [
        'bulbasaur-0', 'Bulbasaur', 'oddish-1','Oddish','bellsprout-2', 'Bellsprout'
      ]
    }
 ]
arrays angular typescript
2个回答
1
投票

你可以使用过滤器:

pokemonGroups = pokemonGroups.filter(group => group.pokemon.length != 0);

1
投票

你可以迭代你的数组并使用array.splice()

var pokemonGroups = [{
    name: 'Grass',
    pokemon: [
      'bulbasaur-0', 'Bulbasaur', 'oddish-1', 'Oddish', 'bellsprout-2', 'Bellsprout'
    ]
  },
  {
    name: 'Water',
    pokemon: [

    ]
  }
]

for (var i = 0; i < pokemonGroups.length; i++) {
  if (pokemonGroups[i]['pokemon'].length == 0) {
    pokemonGroups.splice(i, 1);
  }
}

console.log(pokemonGroups)
© www.soinside.com 2019 - 2024. All rights reserved.