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"]
广告