javascript哈希值验证
javascript hash values validation
我正试图为哈希数组中的4个值赋予相同的行为。
例如:
var array = {};
if (array[key].config.tmp == undefined) {
array[key].config.tmp = {}
}
if(array[key].config.tmp.tp1){
}
if(array[key].config.tmp.tp2){
}
if(array[key].config.tmp.tp3){
}
if(array[key].config.tmp.tp4){
}
由于tp1、tp2、tp3和tp4将具有相同的行为。我想简化验证。
类似于:
array[key].config.tmp.[tp1,tp2,tp3,tp4]是否可能?已经尝试过了。但它是
tp1、tp2、tp3和tp4可能不存在(未定义)。(tp1和tp2只是有时)。
有什么建议让我不会重复代码吗?
提前感谢
您也可以在数组键上使用过滤器:
if ( ( array[key].config.tmp || {} ).keys().filter(
function(k) { return /^tp[1234]/.test( k ) }
).length ) )
使用类似||
的短路运算符。例如,如果您正在检查是否存在多个属性,那么访问不存在的属性是错误的。
var c = a[key].config.tmp.a || a[key].config.tmp.b || .... || //default
在本例中,c将保持其中第一个的值,以评估为true。如果它们都返回false,您也可以在末尾包含一个"Default"值。请记住,访问不存在的属性的属性是一个类型错误,因此必须确保至少存在config.tmp。所以你可以用替换你的代码
if (a[key].config.tmp.a || a[key].config.tmp.b || ....) {
}
相关文章:
- 在Javascript中实现对哈希值的暴力攻击
- 用户单击带有哈希值的链接以访问该页面,如果禁用Javascript会发生什么情况
- 要发送到控制器的 HREF 链接中的哈希值
- 使用 JavaScript 计算 Blob 的哈希值
- JavaScript 文件哈希值与文件的一部分一起生成
- JavaScript 隔离哈希值
- JavaScript 获取以前的哈希值
- 设置使用 window.open() 打开的空白页的哈希值
- Chrome 不返回哈希值
- Javascript 使用哈希值重新加载页面
- 为什么从其他网络返回会保留最后一个哈希值,同时显示第一个哈希值的内容
- 来自 Javascript 和 PHP 的不同哈希值
- 使用Javascript从url中获取空哈希值
- 如何使用JS重定向到具有哈希值的引用URL
- 单击一页滚动菜单时更改URL哈希值
- 是否可以在Mustache中基于哈希值切换模板部分
- 哈希值和后退/下一步按钮
- javascript哈希值验证
- 如何将哈希值转换为数组
- 如何在没有循环的情况下验证哈希表中包含的值