繁体   English   中英

为什么这个函数在返回true时返回false?

[英]why is this function returning false when it should return true?

我有一个简单的代码库,少于30行,它有一个名为disable()的函数,它验证另一个数组内的数组内部的数组值(绑定到复选框)并返回true,如果:

  • 选中零个或多个复选框
  • 一个复选框选中具有的一定值null

这是功能:

disable() {
  if (!this.checked_y.length) {
    return true;
  }
  this.checked_y.forEach(year => {
    year.specs.forEach(sp => {
      if (sp.spec == null) {
        return true;

      }
    });
  });
  return false;
}

你可以在这里找到完整的代码

您无法从内部回调返回外部函数,但是您可以将Array#some用于嵌套数组,如果为short则返回true。

function disable() {
    return !this.checked_y.length
        || this.checked_y.some(year => year.specs.some(sp => sp.spec == null));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM