javascript - 将对象键值与数组中的值进行匹配

标签 javascript regex

我的数组中有以下单词列表

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/

相关文章:

javascript - Node.js 中基于好友的系统

JavaScript 作用域问题

java - 匹配 scrypt 的正则表达式

Ruby 正则表达式太大/多个字符串匹配

c++ - 为什么这个正则表达式模式 (tr1::regex) 会出现异常?

特殊字符的Java replaceAll正则表达式[

Java RegEx 从 getter 和/或 setter 中查找变量?

javascript - 如何对数组对象进行分组以获得所需的数据格式?

JavaScript 表单提交()完成

javascript - 通过pdf.js解码奇怪的字符