js判斷物件是否為空物件方法

2021-10-01 07:18:29 字數 1538 閱讀 3783

1.將json物件轉化為json字串,再判斷該字串是否為"{}"

let obj = {}

console.log(json.stringify(obj) == "{}");  //true

2.for  in 迴圈判斷

let obj = {}

let b = function()

return true;

}console.log(b());   //true

3. jquery 的isemptyobject 方法

此方法是jquery將2方法(for in)進行封裝,使用時需要依賴jquery

let obj = {}

let b = $.isemptyobject(obj);

console.log(b);   //true

function isemptyobject(obj) 

return true;

}

4. object.getownpropertynames()方法

此方法是使用object 物件的object.getownpropertynames()方法,獲取到物件中的屬性名,存到乙個陣列中,返回陣列物件,我們可以通過判斷陣列的length來判斷此物件是否為空。

注意:此方法不相容ie8 

let obj = {}

let b = object.getownpropertynames(obj)

console.log(b.length == 0);   //true

var arr = ["a", "b", "c"];

console.log(object.getownpropertynames(arr).sort()); // ["0", "1", "2", "length"]

// 類陣列物件

var obj = ;

console.log(object.getownpropertynames(obj).sort()); // ["0", "1", "2"]

// 使用array.foreach輸出屬性名和屬性值

object.getownpropertynames(obj).foreach(function(val, idx, array) );  // 0 -> a     // 1 -> b      // 2 -> c

//不可列舉屬性

var my_obj = object.create({}, ,

enumerable: false

}});

my_obj.foo = 1;

console.log(object.getownpropertynames(my_obj).sort()); // ["foo", "getfoo"]

5. 使用es6的object.keys()方法

與4方法類似,是es6的新方法,返回值也是物件中屬性名組成的陣列。

let obj = {}

let arr = object.keys(obj)

console.log(arr.length == 0);   //true

js判斷物件是否為空

在php中空陣列跟和空物件,在進行布林值驗證是是false,但是js中陣列或物件不管是否有屬性或值存在統統任務是true。在編寫程式的過程中這是很蛋疼的。為了解決這個問題只能自己寫方法進行判斷。下面總結一下幾種方法 用es6的keys方法搞定 function isempty obj 利用json轉...

js判斷物件是否為空

1.將json物件轉化為json字串,再判斷該字串是否為 var data var b json.stringify data alert b true 2.for in 迴圈判斷 var obj var b function return true alert b true 3.jquery的is...

js判斷物件是否為空

1 使用es6提供的 object.keys obj 方法 object.keys 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 的鍵名。object.keys obj length 0 obj.constructor object true表示為空物件,fal...