js分隔字串生成陣列產生空字串元素解決方案

admin發表於2017-03-28

使用split()函式可以將字串分隔成陣列,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var str="a,b,c,d,e";
var arr=str.split(",");
console.log(arr);

上面的程式碼可以使用逗號分隔字串生成一個陣列。

但是在有時候,生成的陣列中的元素會有空字串,看如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
var str="google";
var arr=str.split("g");
console.log(arr);

在上面的程式碼中,生成的陣列中的第一個元素的值就是一個空字串。

也可以看到,當用於分隔字串的子字串位於字串的開頭或者結尾的時候就會產生這種現象。

解決方案如下:

[JavaScript] 純文字檢視 複製程式碼
var str="google";
function done(str,splitStr){
  var arr=str.split(splitStr);
  if(str.indexOf(splitStr)==0&&str.lastIndexOf(splitStr,str.length-1)==(str.length-splitStr.length)){
        arr.splice(0,1);
        arr.splice(arr.length-1,1);
  }
  else if(str.indexOf(splitStr)==0){
    arr.splice(0,1);
  }
  else if(str.lastIndexOf(splitStr,splitStr.length)==(str.length-splitStr.length)){
    arr.splice(arr.length-1,1);
  }
  return arr;
}
console.log(done(str,"g"));

上面的程式碼實現了我們的要求,比較簡單,具體可以參閱相關閱讀。

相關閱讀:

1.split()函式可以參閱javascript split()一章節。

2.indexOf()函式可以參閱javascript indexof()一章節。

3.lastIndexOf()函式可以參閱js lastIndexOf()一章節。

相關文章