Javascript ES2015 检查对象中的命名键之一是否为空

标签 javascript ecmascript-6

我有一个如下所示的数组

process:Array[3]
0:Object
    office_id:""
1:Object
    office_id:6
2:Object
   office_id:""

我想检查 office_id named key 是否不为空

如果我找到至少一个不为空的 office_id,它将返回 true,否则如果全部为空,它将返回 false。

如您所见,office_id 的默认值为空字符串。

该对象是动态的,因为我正在使用一些输入选择表单来添加另一个具有 office_id 的对象,因此如果他们选择了另一个对象,将添加另一个对象,其 office_id 等于该特定的选择 ID。

现在,为了验证目的,我需要检查对象进程是否包含带有数值的 office_id。

最佳答案

使用简单的for循环和更高效的方式

function () {
  for(i = 0; i < process.length; i++){
    if (process[i].office_id){
      return true;
      break;
    }
  }

  return false;
}

使用 ES5 过滤器

function () {
  var filteredProcess = process.filter(function(pr) {
    if (pr.office_id){
      return true;
    }
  });

  return filterProcess.length ?
    true: 
    false;
}

关于Javascript ES2015 检查对象中的命名键之一是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50595514/

相关文章:

javascript - 我可以使用 "let"在 javascript 中定义数组吗

javascript - 如何停止 Promise 对象的自动解析?

javascript - 参数之前或之后的流类型问号?

javascript - 下载游戏的链接/按钮

javascript - svg 创建元素 3 秒直到 i 是 x

javascript - 在 JavaScript 中转换和组合数组

javascript - 如何从 React Native javascript 语法切换到 es6

javascript - 与命名箭头函数中的arguments.length混淆

javascript - 持续更改 session 的 CSS

javascript - 页面转换——等到ajax请求发出