js判定空配列、空オブジェクト
1192 ワード
オブジェクトが空ですか?
1.jsonオブジェクトをjson文字列に変換し、その文字列が「{}」かどうかを判断する.
var data={}var b=(JSON.strigify=""");consolone.log(b) //true
2.for inサイクル判定
空のオブジェクトがtrueに戻るとfalseに戻ります.
var obj={}var b=function(){ for(var key in obj){ return false; //空ではない } return true;consone.log(b); //true
3.ES 6を使用するObject.keys()方法var data={};var arr=Object.keys(data);consolie.log(arr.length==0); //true
配列が空の配列かどうかを判断します.
1.配列長lengthが0かどうかを判断する
配列が直接ブールタイプと比較される場合、デフォルトは配列とブールタイプをすべてNumberタイプに変換して比較し、空配列がNumberタイプに変換される場合は0です.
let data=[];if(data==false){ //dataが空の配列の場合、実行するコード
consolone.log('配列は空です');
3.配列をjson文字列に変換し、文字列が「[]」かどうかを判断する.
let obj=[]
consolie.logs(JSON.strigify(obj)==''' //true
4.配列はObjectタイプで、Objectタイプは等号で比較したのはメモリアドレスで、配列かどうかを先に判断してから空かどうかを判断します.
1.jsonオブジェクトをjson文字列に変換し、その文字列が「{}」かどうかを判断する.
var data={}var b=(JSON.strigify=""");consolone.log(b) //true
2.for inサイクル判定
空のオブジェクトがtrueに戻るとfalseに戻ります.
var obj={}var b=function(){ for(var key in obj){ return false; //空ではない } return true;consone.log(b); //true
3.ES 6を使用するObject.keys()方法var data={};var arr=Object.keys(data);consolie.log(arr.length==0); //true
配列が空の配列かどうかを判断します.
1.配列長lengthが0かどうかを判断する
let arr = [];
if (arr.length == 0){
console.log(" ")
}else {
console.log(" ")
}
2.data==falseで配列が空であると判断します.配列が直接ブールタイプと比較される場合、デフォルトは配列とブールタイプをすべてNumberタイプに変換して比較し、空配列がNumberタイプに変換される場合は0です.
let data=[];if(data==false){ //dataが空の配列の場合、実行するコード
consolone.log('配列は空です');
3.配列をjson文字列に変換し、文字列が「[]」かどうかを判断する.
let obj=[]
consolie.logs(JSON.strigify(obj)==''' //true
4.配列はObjectタイプで、Objectタイプは等号で比較したのはメモリアドレスで、配列かどうかを先に判断してから空かどうかを判断します.
var a = []
if(Object.prototype.toString.call(a) === '[object Array]' && a.length === 0){
console.log(13)
}