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.2k
3 个回答

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

逻辑写反了……

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

inArr.map(item => item.replace(/^[^-]+--/, ''))
推荐问题