JavaScript 的 split() 能否從索引 1 開始?


就 String.prototype.split() 官方方法而言,沒有辦法從索引 1 或從任何索引 n 開始拆分字串,但只需稍微調整一下我們在 split() 中的使用方式,我們就能實現這一功能。

我們遵循了下列方法:

我們將建立兩個陣列:

  • 從 0 到結束進行拆分的陣列 --- 實際
  • 從 0 到開始位置進行拆分的陣列 --- 剩餘

現在,我們遍歷剩餘元素的每個元素,並將其從實際陣列中拼接出來。這樣,實際陣列從理論上講就從開始索引拆分到結束索引了。

示例

const string = 'The quick brown fox jumped over the wall';
const returnSplittedArray = (str, startPosition, seperator=" ") => {
   const leftOver = str.split(seperator, startPosition);
   const actual = str.split(seperator);
   leftOver.forEach(left => {
      actual.splice(actual.indexOf(left), 1);
   })
   return actual;
}
console.log(returnSplittedArray(string, 5, " "));

輸出

["over", "the", "wall"]

更新日期:2020 年 8 月 18 日

307 個瀏覽次數

啟動你的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.