我的数组中有以下单词列表
var customerAlert = ['IsCustomerAlert', 'CustomerAlertTitle', 'CustomerAlertShortDescription', 'CustomerAlertLongDescription','CustomerAlertMoreURL'];
我有一个如下所示的对象
var obj = {
"Primary Key": "0",
"title": "",
"show_csr": "",
"IsCustomerAlert": "",
"CustomerAlertTitle": "",
"CustomerAlertShortDescription": "",
"CustomerAlertLongDescription": "",
"CustomerAlertMoreURL": ""
}
我的目标是遍历对象并查找数组中指定的键值,如果返回 true,则检查该键在对象中是否有空值以及是否动态向其附加“null”。
我目前的思考过程是
for (var key in obj){
if(customerAlert.match(Regex(key)) && obj[key] === ""){
obj[key] = "null";
}
}
是否有更好的声明式方式或命令式方式来实现此目的,并且不确定用于匹配值的正则表达式?
最佳答案
在这种情况下,您实际上不需要使用正则表达式。使用 Array.indexOf 方法:
for (var key in obj){
if (customerAlert.indexOf(key) !== -1 && obj[key] === "") {
obj[key] = "null";
}
}
关于javascript - 将对象键值与数组中的值进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35806432/