js 截掉数组内字符串中的某个字符及之前的字符

原数组:var inArr=["标题1--子标题1","标题3--子标题2","还是个标题1","还是个标题1","标题2--子标题3"]

之后的数组:["子标题1","子标题2","还是个标题1","还是个标题1","子标题3"]

for(var i=0;i<inArr.length-1;i++){

     if(inArr[i].indexOf("--") == -1){

        inArr[i] = (inArr[i].split("--"))[1];

     }

 }

想着这也切掉来着,可是最后打印出来不但没有截掉,还让其他不含有"--"的undefined了???

阅读 2.1k
3 个回答

const arr = inArr.map(item => item.indexOf('--') != -1 ? item.split('--')[1] : item)

逻辑写反了……

== -1 表示没查着,没查着你还截?

inArr.map(item => item.replace(/^[^-]+--/, ''))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题