例如,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()
)。