Javascript 如何检查响应json值是否有连字符'-';还是不在java脚本中?
我在JSON响应中获得了一些价值。这些时间包含连字符'-'。所以在javascript中,连字符被当作减法处理 JSONJavascript 如何检查响应json值是否有连字符'-';还是不在java脚本中?,javascript,jquery,json,Javascript,Jquery,Json,我在JSON响应中获得了一些价值。这些时间包含连字符'-'。所以在javascript中,连字符被当作减法处理 JSON books": { "red": "2008-17801", "blue": "TERTERIAN-HAYK" } 在得到这些值之后,我将把它们放入数组中 books["blue"].replace(/-/,' '); 喜欢 [“2008-17801”] [“泰特里安-海克”] 但在赋值之前,我要检查值是否有连字符“-”。 我检查了一个链接,但它正在检查所有特殊字符。
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()
。参见文档:从上面的评论中可以看出,对该问题进行投票的选项中的-
应该没有任何问题。如果你想,这个问题将存在,因为你没有告诉我们为什么连字符是一个问题