检查大对象是否为空值

时间:2019-10-08 07:15:49

标签: javascript node.js

我正在尝试使函数通过对象,并且是否存在任何空值。这是我的代码:

  async function validateObjectField(course) {
  let error = new Error();
  const keys = Object.keys(course);
  keys.forEach(k => {
    const obj = course[k];
    if (typeof obj === "object") {
      if (Array.isArray(obj)) {
        if (Object.size(obj) === 0) {
          error.message = `${obj} is required!`;
          return error;
        }
        for (const o of obj) {
          error = validateObjectField(o);
          if (error) return error;
        }
      } else {
        error = validateObjectField(obj);
        if (error) return error;
      }
    }
    if ((typeof obj === "string" && obj.length === 0) || obj === null) {
      error.message = `${obj} is required!`;
      return error;
    }
  });
}

我正在使用console.log()进行观察,发现有时代码会返回return语句,但其余代码仍会执行。有人知道为什么吗?我被困住了,不知道现在该怎么办。

在此代码块中:

if (obj.length === 0) {
    error.message = `${obj} is required!`;
    return error;
}

它没有返回错误并中断了功能。

0 个答案:

没有答案