javascript - Javascript ES2015 检查对象中的命名键之一是否为空
问题描述
我有一个如下所示的数组
process:Array[3]
0:Object
office_id:""
1:Object
office_id:6
2:Object
office_id:""
我想检查 office_id 命名键是否不为空
如果我找到至少一个不为空的 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;
}
推荐阅读
- python - Jnius 安装错误,“无法确定 JDK_HOME”
- python - 比较列表并查看一个列表中的部分元素是否存在于另一个列表中的元素中
- python - 如何使用 Python 数据框基于多个条件进行计算?
- python - 来自不同目录python的测试文件中的模拟方法
- c# - C# 防止条目,因此您不会得到“索引超出数组范围”
- c++ - ContinueDebugEvent 导致我的调试器崩溃,但 x64dbg 没有
- c - fgets 如何处理回车键?
- php - SWIG & PHP 7 - 如何将二进制数据从 C 传递到 PHP(非零终止)?
- database - 为什么我的 FK 列和引用的列应该具有相同的类型?
- reporting-services - SSRS Excel 提取上的空列