Skip to main content

slice()

语法

slice(start?: number, end?: number): string;

描述

根据索引值startend返回原字符串的一个子区间,是一个前闭后开 [start, end)区间。

  • 当不传入任何参数时返回原数组

  • 当传入一个参数,并且此参数大于数组的长度,将返回空字符串

  • 支持负数索引,不会像substring()将负数转换为 0

tip 要注意此方法和substring()的区别:

  • substring()遇到负数会转换为0,而slice()支持负索引
  • substring()在 start 大于 end 时两者会交换,而slice()在此情况下直接返回空字符串

示例

const str = "yanceyleo";

str.slice(); // 'yanceyleo'
str.slice(1); // 'anceyleo'
str.slice(100); // ''
str.slice(-2); // 'eo'
str.slice(1, 2); // 'a'
str.slice(-1, -2); // ''
str.slice(-2, -1); // 'e'