DEV Community

NikiMunger
NikiMunger

Posted on

.slice()、.reverse()

.slice()

.slice() 是 JavaScript 中 数组和字符串都支持的一个方法,用来 截取一部分内容,返回一个新值(不修改原值)。

语法:

arr.slice(start, end)
Enter fullscreen mode Exit fullscreen mode
  • start:开始位置(包含)
  • end:结束位置(不包含)
  • 都是可选参数
  • 不会改变原数组
  • 返回一个新数组

示例:

  • 基本使用

       const arr = [10, 20, 30, 40, 50];
    
       arr.slice(1, 3);   // [20, 30]  取索引 1~2
    
  • 省略 end

       arr.slice(2);   // [30, 40, 50]  从索引 2 一直到末尾
    
  • 复制整个数组

       const copy = arr.slice();  // 完整复制
    
  • 负数索引(从末尾算起)

       arr.slice(-2);     // [40, 50]   最后两个
       arr.slice(1, -1);  // [20, 30, 40]  从索引 1 开始(包含 1) 到倒数第 1 个元素结束(不包含倒数第 1 个)
    

.reverse()

.reverse() 是 JavaScript 数组的方法,用于 原地反转数组(改变原数组)。

语法:

array.reverse()
Enter fullscreen mode Exit fullscreen mode
  • 返回值:反转后的同一个数组(数组本身)
  • 会修改修改原数组
  • 不会生成新数组

示例:

const arr = [1, 2, 3];
arr.reverse();

console.log(arr);  // [3, 2, 1]

Enter fullscreen mode Exit fullscreen mode

Top comments (0)