[英]How to move javascript if conditions to external file?
使用脚本在某些软件之间传输数据,在这个脚本中,我有一个 if 条件来忽略一些不需要传输的特定字段。 因此,我的情况类似于:
if(
object.field == "_Field1" ||
object.field == "_Field2" ||
object.field == "_Field3" ||
object.field == "_Field4"
...
) { ... }
但是,这些字段中有很多,并且可能会出现更多字段,因此我想将这些字段移动到外部(文本或 js?)文件以便于维护和可读性,如何在不移动 if 的情况下完成此操作? 理想情况下,我希望能够有另一个脚本在需要添加新字段时写入该文件,因此该文件应该只是比较。
您可以简单地创建一个 function 来执行此评估并返回结果。 像这样的东西:
function isObjectOneOfSpecificFieldSubsets(object) {
return (
object.field == "_Field1" ||
object.field == "_Field2" ||
object.field == "_Field3" ||
object.field == "_Field4"
)
}
那么您上面的代码将变为:
if(isObjectOneOfSpecificFieldSubsets(object)) {
...
}
您可以在数组上添加要忽略的字段,然后在实际 object 发送之前将其删除:
const ignoredFields=['_Field2','_Field2','_Field3','_Field4']
// or you can read them from a file
const mustIgnore = ({field})=>
return ignoredFields.includes(field)
现在您可以动态使用mustIgnore
而无需更改或添加 if 语句
我不知道我是否理解你的问题,但你可以:
const FIELDS = [
"_Field1",
"_Field2",
...
]
const doFieldsCheckCondition = (field) => {
...
for (let tmp_field of FIELDS) {
...
}
}
if (doFieldsCheckCondition(field)) {...}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.