Skip to content

数组操作slice、splice、copyWithin #6

@ethanvs

Description

@ethanvs

slice

描述:从一个数组中获取子数组

  • 第一个参数为起始位置数组下标,第二个参数终止位置
  • 下标可以使用负数表示倒数的元素(最后一个元素负数下标为-1)
  • 不会改变原数组
const arr = [1, 2, 3, 4, 5, 6];

arr.slice(3); // [4, 5]
arr.slice(2, 4); // [3, 4]
arr.slice(-2); // [4, 5]
arr.slice(1, -2); // [2, 3]
arr.slice(-2, -1); // [4]

splice

描述:数组任意位置添加或删除元素

  • 第一个参数为起始位置数组下标
  • 第二个参数是需要删除元素个数(可为0)
  • 其他参数为需要添加的元素
const arr = [1, 5, 6, 7];

arr.splice(1, 0, 2, 3, 4); // 返回[], arr现在是[1, 2, 3, 4, 5, 6, 7]
arr.splice(1, 2); // 返回[2, 3], arr现在是[1, 4, 5, 6, 7]
arr.splice(2, 1, 'a', 'b'); // 返回[5], arr现在是[1, 4, 'a', 'b', 6, 7]

copyWithin

描述:将数组中一串有序元素复制到数组的另一个位置

  • 第一个参数 目标位置(要复制到哪里)
  • 第二个参数复制开始位置
  • 第三个参数复制结束位置(可选)
const arr = [1, 2, 3, 4];

arr.copyWithin(1, 2); // arr现在是[1, 3, 4, 4]
arr.copyWithin(2, 0 ,2); // arr现在是[1, 3, 1, 3]
arr.copyWithin(0, -3, -1); // arr现在是[3, 1, 1, 3]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions