js系列文章之 : 判斷 object 對象是否爲空

本文解決痛點:對象裏面是否有值。

1.經過 JSON 自帶的 stringify() 方法來判斷:

JSON.stringify() 方法用於將 JavaScript 值轉換爲 JSON 字符串。數組

if (JSON.stringify(data) === '{}') {
    return false // 若是爲空,返回false
}
return true // 若是不爲空,則會執行到這一步,返回true
複製代碼

這裏須要注意爲何不用 toString(),由於它返回的不是咱們須要的。bash

var a = {}
a.toString() // "[object Object]"
複製代碼

2.for...in... 遍歷屬性,爲真則爲「非空數組」;不然爲「空數組」

for (var i in obj) { // 若是不爲空,則會執行到這一步,返回true
    return true
}
return false // 若是爲空,返回false

複製代碼

3.ES6 新增的方法 Object.keys():

Object.keys() 方法會返回一個由給定對象的自身可枚舉屬性組成的數組。 若是咱們的對象爲空,他會返回一個空數組,以下:ui

var a = {}
Object.keys(a) // []
複製代碼
if (Object.keys(object).length === 0) {
    return false // 若是爲空,返回false
}
return true // 若是不爲空,則會執行到這一步,返回true

複製代碼

以後會寫一些js經常使用的技巧,原理鏈和容易混淆的概念,但願能幫助到一些人。因爲能力有限,可能理解有誤,歡迎指出。

相關文章
相關標籤/搜索