web-dev-qa-db-fra.com

Vérifier si un tableau est vide dans React Native

Comment puis-je vérifier si un tableau est vide avec une déclaration IF?

J'ai ce tableau 'acessos' qui est vide

...
constructor(props){
    super(props);
    this.state = {
      acessos:[]
    };
  }
...

Ensuite, j'essaie de vérifier si 'acessos' est vide et s'il contient des données. J'ai essayé avec null mais sans résultat, alors comment puis-je vérifier si est vide?

...
if(this.state.acessos === null){
      this.state.acessos.Push({'uuid': beacons.uuid, 'date':date});
      this.setState({acessos: this.state.acessos});
} else {
...
4
Proz1g

Je suis d'accord avec Julien. De plus, vous n'avez pas à le comparer à null. Vous pouvez l'écrire comme

this.state.acessos && this.state.acessos.length > 0
15
atitpatel

Il suffit de vérifier si votre tableau existe et a une longueur: 

if (this.state.acessos && this.state.acessos.length) {
     //your code here
}

Pas besoin de vérifier this.state.acessos.length > 0. 0 est quand même une fausseté, une petite amélioration de performance.

Vous pouvez trouver un test de performance concernant 'array.length' vs 'array.length> 0' ici: https://jsperf.com/test-of-array-length

2
oma

Vous n'avez même pas besoin de vérifier la longueur depuis ECMAScript 5.1Vous pouvez simplement écrire la même condition comme suit.

this.state.acessos && this.state.acessos.length

Par défaut, this.state.acessos.length vérifie si la longueur n'est PAS indéfinie ou nulle ou nulle.

1
Philip John