如何检查响应json值有Hyphen' - '或者不是在java脚本中?

时间:2018-02-08 09:09:05

标签: javascript jquery json

我在JSON响应中获得了一些价值。这些时间包含连字符' - '。所以在javascript' - '连字符作为减法处理。

JSON

books": {
"red": "2008-17801",
"blue": "TERTERIAN-HAYK"
}

获取这些值后,我将进入数组。

LIKE

  

[" 2008-17801"]
   [" TERTERIAN-Hayk酒店"]

但是在分配之前我想检查值是否有连字符' - '或不。 我检查了一个链接,但它检查所有特殊字符。 jQuery: Check if special characters exists in string

我想只检查连字符。

3 个答案:

答案 0 :(得分:1)

您只需在-键的值中检查books连字符的索引。



var data = {
  "books": {
  "red": "2008-17801",
  "blue": "TERTERIAN-HAYK"
  }
};

for(var book in data.books){
  if(data.books[book].indexOf('-') !== -1){
    console.log("There is hyphen in book "+book);
  }
}




答案 1 :(得分:0)

您可以使用replace()查找该值是否包含' - '并用'替换它。 '或者在将其存储到数组中之前您想要的任何其他内容。

books["blue"].replace(/-/,' ');

或者如果你只想找到' - '存在然后你可以使用match()与正则表达式。

答案 2 :(得分:0)

获取所有值

var books = {
   "red": "2008-17801",
   "blue": "TERTERIAN-HAYK"
};
var allValues = Object.values( books );

检查任何值中是否有连字符

var hasHypen = allValues.some ( s => s.indexOf( "-" ) != -1 );

仅获取具有连字符的值

var hyphenValues = allValues.filter( s => s.indexOf( "-" ) != -1 );