webentwicklung-frage-antwort-db.com.de

Überprüfen Sie in React Native, ob ein Array leer ist

Wie kann ich überprüfen, ob ein Array mit einer IF-Anweisung leer ist?

Ich habe dieses Array "acessos", das leer ist

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

Dann versuche ich zu überprüfen, ob 'acessos' leer ist und ob es sich um Daten handelt. Ich habe es mit null versucht, aber ohne Ergebnisse. Wie kann ich überprüfen, ob leer ist?

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

Ich stimme Julien zu. Sie müssen es auch nicht mit null vergleichen. Du kannst es gerne schreiben

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

Prüfen Sie einfach, ob Ihr Array existiert und eine Länge hat: 

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

this.state.acessos.length > 0 muss nicht geprüft werden. 0 ist ohnehin falsch, eine kleine Leistungsverbesserung.

Einen Leistungstest bezüglich 'array.length' vs 'array.length> 0' finden Sie hier: https://jsperf.com/test-of-array-length

2
oma

Sie müssen nicht einmal die Länge seit ECMAScript 5.1 überprüfen. Sie können dieselbe Bedingung einfach wie folgt schreiben.

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

Standardmäßig prüft this.state.acessos.length, ob die Länge NICHT undefiniert oder Null oder Null ist.

1
Philip John