phpではブール値の検証を行う際に空の配列や空のオブジェクトはfalseになりますが、jsの配列やオブジェクトは属性や値の有無に関わらず全てtrueとなります。
これはプログラムを書く過程で非常に苦痛です。この問題を解決するには、独自の判定メソッドを記述するしかありません。いくつかの方法をまとめてみましょう
// 用es6的keys方法搞定function isEmpty(obj){ return Object.keys(obj).length === 0; }// 利用JSON转换搞定function isEmpty(obj){ return JSON.stringify(obj) == '{}'; }// 利用for in或for of等写个for in的例子function isEmpty(obj){ for(let item in obj){ return true; } return false; }
上記はすべて許容可能ですが、効率の問題は視覚的に確認する必要があります。これは 3 番目の方法で使用されていることに注意してください。古い IE との互換性を維持したい場合は、引き続き var
を使用する必要があります以上がオブジェクトが空かどうかを判断するjsメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。