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"]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
JavaScript
PHP