js 判断对象是否为空
时间: 2023-05-31 13:05:59 AIGC 浏览: 115
可以使用 JavaScript 的 Object.keys() 方法或者 for...in 循环来判断一个对象是否为空。
方法一:
```javascript
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
// 示例
console.log(isEmpty({})); // true
console.log(isEmpty({a: 1, b: 2})); // false
```
方法二:
```javascript
function isEmpty(obj) {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
return false;
}
}
return true;
}
// 示例
console.log(isEmpty({})); // true
console.log(isEmpty({a: 1, b: 2})); // false
```
注意:方法二需要使用 hasOwnProperty() 方法判断对象自身属性,而不是原型链上的属性。
相关问题
JS判断对象是否为空
可以使用以下方法判断 JavaScript 对象是否为空:
1. 使用 Object.keys() 方法取出对象的所有属性名,再判断属性个数是否为 0。
```javascript
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
```
2. 使用 for...in 循环判断对象是否有属性。
```javascript
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop)) {
return false;
}
}
return true;
}
```
需要注意的是,以上方法仅判断对象自身的属性,不包括从原型链继承的属性。如果需要判断原型链上的属性,可以使用 Object.getOwnPropertyNames() 方法。
JS 判断对象是否为空
有多种方式可以判断一个对象是否为空:
1. 使用 Object.keys() 方法,获取对象所有属性名,如果数组长度为 0,则对象为空。
```javascript
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
const obj1 = {};
console.log(isEmpty(obj1)); // true
const obj2 = { name: "Tom", age: 20 };
console.log(isEmpty(obj2)); // false
```
2. 使用 for...in 循环遍历对象,如果循环体内执行了至少一次,则对象不为空。
```javascript
function isEmpty(obj) {
for (let key in obj) {
return false;
}
return true;
}
const obj1 = {};
console.log(isEmpty(obj1)); // true
const obj2 = { name: "Tom", age: 20 };
console.log(isEmpty(obj2)); // false
```
3. 使用 JSON.stringify() 方法将对象转换为字符串,如果字符串长度为 2,则对象为空。
```javascript
function isEmpty(obj) {
return JSON.stringify(obj) === "{}";
}
const obj1 = {};
console.log(isEmpty(obj1)); // true
const obj2 = { name: "Tom", age: 20 };
console.log(isEmpty(obj2)); // false
```
阅读全文
相关推荐













