Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查响应json值是否有连字符'-';还是不在java脚本中?_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何检查响应json值是否有连字符'-';还是不在java脚本中?

Javascript 如何检查响应json值是否有连字符'-';还是不在java脚本中?,javascript,jquery,json,Javascript,Jquery,Json,我在JSON响应中获得了一些价值。这些时间包含连字符'-'。所以在javascript中,连字符被当作减法处理 JSON books": { "red": "2008-17801", "blue": "TERTERIAN-HAYK" } 在得到这些值之后,我将把它们放入数组中 books["blue"].replace(/-/,' '); 喜欢 [“2008-17801”] [“泰特里安-海克”] 但在赋值之前,我要检查值是否有连字符“-”。 我检查了一个链接,但它正在检查所有特殊字符。

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

JSON

books": {
"red": "2008-17801",
"blue": "TERTERIAN-HAYK"
}
在得到这些值之后,我将把它们放入数组中

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

[“2008-17801”]
[“泰特里安-海克”]

但在赋值之前,我要检查值是否有连字符“-”。 我检查了一个链接,但它正在检查所有特殊字符。


我只想检查连字符。

您只需在
图书
键的值中检查
-
连字符的索引即可

var数据={
“书籍”:{
“红色”:“2008-17801”,
“蓝色”:“TERTERIAN-HAYK”
}
};
for(data.books中的var book){
if(data.books[book].indexOf('-')!=-1){
console.log(“book中有连字符”+book);
}
}
在将值存储到数组中之前,可以使用replace()查找该值是否包含“-”,并将其替换为“”或任何其他所需内容

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

或者,如果您只想查找是否存在“-”,那么可以将match()与regex一起使用。

获取所有值

var books = {
   "red": "2008-17801",
   "blue": "TERTERIAN-HAYK"
};
var allValues = Object.values( books );
var hyphenValues = allValues.filter( s => s.indexOf( "-" ) != -1 );
用于检查任何值中是否有连字符

var hasHypen = allValues.some ( s => s.indexOf( "-" ) != -1 );
是否仅获取带有连字符的值

var books = {
   "red": "2008-17801",
   "blue": "TERTERIAN-HAYK"
};
var allValues = Object.values( books );
var hyphenValues = allValues.filter( s => s.indexOf( "-" ) != -1 );

你得到一个字符串,你想要一个字符串,有什么问题吗?
这些有时包含连字符“-”。因此,在javascript中,连字符被视为减法。
没错,但在您的例子中,连字符是一个字符串,所以我不认为这是一个您需要担心的问题。请您编辑问题,将出现此问题的代码包括在内,因为
-
出现了什么问题?我看不到任何问题您可以使用
indexOf
-
str.indexOf(“-”)=-1
您可以将正则表达式传递给
match()
。参见文档:从上面的评论中可以看出,对该问题进行投票的选项中的
-
应该没有任何问题。如果你想,这个问题将存在,因为你没有告诉我们为什么连字符是一个问题