js中 indexOf()方法注意事项
indexOf() 用来获取字符串值在字符串中首次出现的位置,
我总是用来判断 字符是不是包含在该字符串中
对于用逗号隔开的字符串,
var str='18iuwmfsvsdh22,3z87mqbyl8rf22,8aldbamp0ly722,9prsgajd9ka621,b3mn4idion3b22,bsw4klk0fl1222,es8w1ynp8gyk22,faw79t0m515k21,fe8b4s6s05vj22,qk9sscobgbrf22,rk3s59ea54k022,s1l9ko7skgcc52,weixin111';
我想判断 ‘weixin’ 是不是其中的某一项,是万万不能直接用indexOf来判断的
我们能看到‘weixin’包含在这个字符串中,但这并不是我们想要的结果。
获取正确的结果:
方法一:
var curWeixinFriendsArr=str.split(','); var tempObj=curWeixinFriendsArr.find(function(x){ return x=='weixin'; }); if(tempObj){ //包含'weixin'这一项 }else{//不包含'weixin'这一项}
方法二:
//先把字符串转成数组 var curWeixinFriendsArr=str.split(','); //再用indexOf()判断是否存在 var index=curWeixinFriendsArr.indexOf('weixin'); if(index>-1){ //存在 }else{ //不存在 }
这才是我想要的结果。
总结:对于特别的字符串我们可以用indexof来判断是不是包含某一项。 例如Guid '6B22CA17-6CA8-4519-B84B-00DD82A7D0CA,3e5071c1-0152-4cc2-b8d1-6156b7e08259',因为能全部匹配到这一项
但是对于一般的用逗号字符串我们还是要用下面的两种的方式进行判断是不是包含某一项