javascript – 如何为字符串数组实现.indexof?
作者:互联网
如何简化以下代码?我怎样才能摆脱if语句?我想强调ajax响应中的一些行.现在我有两个字符串要比较=两个ifs.这个数字会增加,所以我想以其他方式这样做 – 使用需要突出显示的字符串数组,以防字符串是data_array元素的一部分.
我更喜欢javascript中的解决方案,但jQuery也可以.
data_array=data.split('<BR>');
for(var i=0, len=data_array.length; i < len; i++){
if (data_array[i].indexOf('Conflict discovered') >= 0){
data_array[i]="<span class='red'>"+data_array[i]+"</span>";
}
if (data_array[i].indexOf('Syntax error') >= 0){
data_array[i]="<span class='red'>"+data_array[i]+"</span>";
}
}
data=data_array.join('<BR>');
解决方法:
根据需要向数组添加更多元素:)
data.replace( /<br>/ig, '\n' ).replace(
new RegExp( '^(.*(?:' + [
'Conflict discovered'
, 'Syntax error'
].join( '|' ) + ').*)$', 'gm' )
, '<span class="red">$1</span>' ).replace( /\n/g, '<br>' );
说明:
>替换< br>带换行符的标签
>制作正则表达式:^(.*(?:冲突发现|语法错误).*)$
>环绕匹配< span class =“red”> …< / span>
>将换行符改回< br>标签
标签:jquery,javascript,arrays,string-matching 来源: https://codeday.me/bug/20190718/1494569.html