js的slice

slice 是 JavaScript 中的一个方法,用于从数组或字符串中提取一部分元素或字符,并返回一个新的数组或字符串,而不会改变原始数据。

在数组上的使用

let arr = [1, 2, 3, 4, 5, 6];
let new_arr1 = arr.slice(1, 4); // 提取索引1到3的元素(不包括索引3)
console.log(new_arr1); // 输出:[2, 3, 4]
  • start 是必需的,表示从哪个位置开始提取。

  • end 是可选的,表示提取的结束位置(不包括该位置的元素)。

  • 如果 startend 超出数组范围,则函数将使用数组长度或 0

  • 如果只提供一个参数,则 end 默认设置为数组长度。

在字符串上的使用

let str = "Hello World!"let result1 = str.slice(6); // 从位置6开始提取,返回"World!"
let result2 = str.slice(0, 5); // 从位置0到位置5之间提取,返回"Hello"
console.log(result1); // 输出:World!
console.log(result2); // 输出:Hello
  • start 是必需的,表示从哪个位置开始提取。

  • end 是可选的,表示提取的结束位置(不包括该位置的字符)。

  • 如果 start 为负数,则表示从字符串的末尾开始计算。

  • 如果 end 为负数,则表示从字符串的末尾开始计算。

  • 如果省略 end,则提取从 start 到字符串的末尾的所有字符。

负数索引

  • startend 为负数时,它们表示从数组或字符串的末尾开始计算位置。

  • -1 指最后一个字符,-2 指倒数第二个字符,依此类推。

示例

let str = "Hello happy world!"let str1 = str.slice(-2); // 从字符串的倒数第二个字符开始提取
console.log(str1); // 输出:world!

总结

slice 方法可以用于数组和字符串,它创建了一个新的数组或字符串,包含从 startend 指定的元素或字符,startend 都可以为负数。返回的新数组或字符串不会影响原始数据

Top