我在JSON响应中获得了一些价值。这些时间包含连字符' - '。所以在javascript' - '连字符作为减法处理。
JSON
books": {
"red": "2008-17801",
"blue": "TERTERIAN-HAYK"
}
获取这些值后,我将进入数组。
LIKE
[" 2008-17801"]
[" TERTERIAN-Hayk酒店"]
但是在分配之前我想检查值是否有连字符' - '或不。 我检查了一个链接,但它检查所有特殊字符。 jQuery: Check if special characters exists in string
我想只检查连字符。
答案 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 );