You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript新手求助:如何检查JSON对象成员是否为空?

问题分析与解决

嘿,我一眼就看出问题啦——你在for...in循环里搞错了遍历的对象!

你写的check变量其实是对象的键名(也就是'a'和'b'),而不是对应输入框的取值。你现在的判断都是在检查键名是否为空,这当然永远不会触发console.log啦!

修正后的代码

我们需要用myArray[check]来获取每个键对应的值,然后再判断是否为空:

var myArray = { 
  a: document.getElementById('id').value, 
  b: document.getElementById('password').value, 
};

for (var check in myArray) {
  // 获取当前键对应的值
  const value = myArray[check];
  // 判断值是否为空(包括null、空字符串、长度为0的情况)
  if (value == null || value.trim().length === 0) {
    console.log(`${check} 是空的哦...`);
  }
}

额外优化建议

如果你觉得for...in需要处理原型链的问题(虽然这里是简单对象没问题),也可以用Object.values()直接遍历所有值:

Object.values(myArray).forEach(value => {
  if (value == null || value.trim().length === 0) {
    console.log("empty me...");
  }
});

另外,value.trim()可以去掉输入框里的空格,避免用户输入空格被误判为非空的情况,这在表单验证里很实用~

内容的提问来源于stack exchange,提问作者Akuzuki29087

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:25:06