web-dev-qa-db-ja.com

React Nativeで配列が空かどうかを確認します

IFステートメントで配列が空かどうかを確認するにはどうすればよいですか?

この配列「acessos」は空です

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

次に、「acessos」が空かどうかを確認し、空の場合はデータをプッシュします。 nullで試しましたが、結果はありませんので、空かどうかを確認するにはどうすればよいですか?

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

ジュリアンに同意します。また、nullと比較する必要もありません。次のように書くことができます

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

配列が存在し、長さがあるかどうかを確認してください:

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

確認する必要はありませんthis.state.acessos.length > 00とにかく偽物であり、パフォーマンスが少し改善されます。

ここで、「array.length」と「array.length> 0」に関するパフォーマンステストを見つけることができます: https://jsperf.com/test-of-array-length

12
oma

ECMAScript 5.1以降では、長さをチェックする必要さえありません。同じ条件を次のように書くことができます。

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

デフォルトではthis.state.acessos.lengthは、長さが未定義ではないか、nullまたはゼロでないかをチェックします。

3
Philip John