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 {
...
ジュリアンに同意します。また、nullと比較する必要もありません。次のように書くことができます
this.state.acessos && this.state.acessos.length > 0
配列が存在し、長さがあるかどうかを確認してください:
if (this.state.acessos && this.state.acessos.length) {
//your code here
}
確認する必要はありませんthis.state.acessos.length > 0
。 0
とにかく偽物であり、パフォーマンスが少し改善されます。
ここで、「array.length」と「array.length> 0」に関するパフォーマンステストを見つけることができます: https://jsperf.com/test-of-array-length
ECMAScript 5.1以降では、長さをチェックする必要さえありません。同じ条件を次のように書くことができます。
this.state.acessos && this.state.acessos.length
デフォルトではthis.state.acessos.length
は、長さが未定義ではないか、nullまたはゼロでないかをチェックします。