简体   繁体   English

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

[英]Remove object from nested array if array is empty in Typescript

How can I remove the object if the nested array is empty. 如果嵌套数组为空,如何删除对象。 Like I have an array: 就像我有一个数组:

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

      ]
    }]

So In this we have an empty array 所以在这个我们有一个空数组

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

So I want to remove this object and my array should be like: 所以我想删除这个对象,我的数组应该像这样:

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

您可以使用过滤器:

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

You can iterate your array and use array.splice() 您可以迭代数组并使用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) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM