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 个浏览次数

启动你的 职业生涯

通过完成课程获得认证

立即开始
广告