javascript:匹配字符串中的子字符串
下面的代码可以正常工作javascript:匹配字符串中的子字符串,javascript,Javascript,下面的代码可以正常工作 var srch_str = "snow" var str = "snow Showers Late" alert((new RegExp(srch_str)).test(str)) //true 但这一个不,我不明白为什么 var weather_status = ['rain', 'cloudy', "snow", 'wind', 'thunderstorms' ] function getStatus(str){ for(srch_s
var srch_str = "snow"
var str = "snow Showers Late"
alert((new RegExp(srch_str)).test(str)) //true
但这一个不,我不明白为什么
var weather_status = ['rain', 'cloudy', "snow", 'wind', 'thunderstorms' ]
function getStatus(str){
for(srch_str in weather_status){
var bool = (new RegExp(srch_str)).test(str)
if(bool){
str = srch_str
Ti.API.info("if ......")
break;
}
else{
Ti.API.info(" else ----------")
}
}//for
return str
}
输出:否则-----------(5次)
调用
getStatus(“雪花迟来”)
时使用for(天气状态下的srch\u str)
循环srch\u str
是数组的索引,而不是该索引处的元素。将正则表达式行更改为:
var bool = (new RegExp(weather_status[srch_str])).test(str);
演示:
(调试提示:
console.log(srch_str)
会立即指出问题。)当您使用for(天气状态下的srch_str)
循环时,srch_str
是数组的索引,而不是该索引处的元素。将正则表达式行更改为:
var bool = (new RegExp(weather_status[srch_str])).test(str);
演示:
(调试提示:
console.log(srch_str)
会马上指出问题。)for..in
用于对象而不是数组。@elclars数组是对象。RegEx很笨重,更糟糕的是每次迭代都会有一个新的RegEx对象。Tsk3.for..in
用于对象而不是数组。@elclars数组是对象。RegEx很笨重,更糟糕的是每次迭代都有一个新的RegEx对象。Tsk3。对我有用。(您确实打开了控制台…?)我打开了控制台,在运行代码时,另一个窗口打开,显示消息{“error”:“Please use POST request”}适合我。(您确实打开了控制台…?)我打开了控制台,在运行代码时,另一个窗口打开,显示消息{“error”:“Please use POST request”}