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 {
...
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
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
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.