检查值是否为对象javascript中的字符串

时间:2018-06-20 18:31:16

标签: javascript

我有这个代码。我需要为此对象编写一个验证。如果任何属性为空,或者不是字符串控制台,则记录错误或控制台记录消息。

  

var obj = {   “ val1”:“ test1”,   “ val1”:“ test1”,   “ val1”:“ test1”,   }

2 个答案:

答案 0 :(得分:0)

您可以轻松地检查某些东西是否是字符串。该代码循环遍历属性,并检查每个键的值是否为字符串。我正在执行简单的打印,但是您可以根据您希望程序执行的操作执行更多操作。

let obj = { "val1" : "test1", "val2" : "test1", "val3" : 4, }

Object.keys(obj)
  .map(e => typeof(obj[e]) === 'string' ? console.log('string') : console.log('not string'));

答案 1 :(得分:0)

这是一种可能更容易理解的方法。

如果一个或多个属性不是字符串,则此代码记录错误:

var obj = {
  "val1": "test1",
  "val2": 1,
  "val3": null
};

for (var property in obj) {
  if (typeof obj[property] !== 'string') {
    console.error(property + ' is not a string!');
  }
}

PS:您的代码中有一些错误:

  • 请勿在最后一个属性后添加逗号,否则可能会导致错误
  • 您一次又一次地覆盖了相同的属性
  • 如果您在对象的大括号后缺少分号,则可能还会导致错误