例如,person对象
let person = {
name: "章三",
age: 25,
address: "",
};
如何优雅的判断其中有属性为空,不要用for循环
回答:
Object.values(person).includes('')

要想找出某个“值”符合条件的项,那一定是需要遍历的,遍历就只有两种方法:
- 循环(代码级别的循环)
- 递归(机器指令级别的循环,可能是通过跳转来实现)
如果不用 for 循环,那可以用 white,也可以使用一些底层使用循环来实现的工具方法,比如
let person = {
name: "章三",
age: 25,
address: "",
};
var hasEmptyValue = Object.entries(person)
.some(([, v]) => v === undefined || v === null || v === "");
console.log(hasEmptyValue);
这可能还没有一个 for…of 循环效率高,但确实没用 for 循环。for 循环只需要进行一个不完全遍历就可以得到结果,上面的代码进行了一次完全遍历 (entries()),和一次不完全遍历(some())。