ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6 でオブジェクトが空かどうかを判断する方法
判定方法: 1. 判定には「Object.keys()」を使用します。構文は「Object.keys(obj).length === 0&&obj.constructor===Object」で、true を返してそれを示します。 empty; 2 . オブジェクトを json 文字列に変換し、その文字列が "{}" であるかどうかを判断します; 3. isEmptyObject() を使用して、構文が "$.isEmptyObject(data)" であることを判断し、空であることを示す true を返します。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
オブジェクトが空かどうかを判断することは、オブジェクトが空のオブジェクトであるかどうかを判断することです。
#ES6 空のオブジェクトかどうかを判断するさまざまなメソッド
1. ES6 Object.keys() メソッドを使用します
Object.keys() は、ES6 の新しいメソッドです。戻り値も、オブジェクト自体の列挙可能なすべてのプロパティを含む、オブジェクト内のプロパティ名で構成される配列です (継承したものを除く)(Symbol属性を除く)キー名。
Object.keys(obj).length === 0 && obj.constructor === Object // true表示为空对象,false为非空对象欠点: 一部のブラウザはこれをサポートしていないため、babel クラス プラグインを通じて ES5 に変換する必要があります。使用例は次のとおりです:
var data = {}; var arr = Object.keys(data); alert(arr.length == 0);//true 即为空对象 var datas={a:1,b:2}; var aRR = Object.keys(datas); console.log(aRR) --> ['a','b']
2. オブジェクトを json 文字列に変換し、その文字列が "{}"# であるかどうかを判断します。 ##
var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true3. for in ループ判定
var obj = {}; var b = function() { for(var key in obj) { return false; } return true; } alert(b());//true
このメソッドは、jquery によって 3 つのメソッド (in 用) をカプセル化します。これを使用する場合、jquery
var data = {}; var b = $.isEmptyObject(data); alert(b);//true
このメソッドは、Object オブジェクトの getOwnPropertyNames メソッドを使用して、オブジェクト内のプロパティ名を取得し、配列に格納して、配列オブジェクトを返します。オブジェクトが空であるかどうかは、オブジェクトの長さを判断することで判断できます。配列.
注: このメソッドは ie8 と互換性がなく、他のブラウザはテストされていません。var data = {}; var arr = Object.getOwnPropertyNames(data); alert(arr.length == 0);//true[関連する推奨事項:
プログラミング ビデオ ]
以上がes6 でオブジェクトが空かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。