Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

2.JavaScript 数据结构与算法(二)数组 #2

Copy link
Copy link
@webVueBlog

Description

@webVueBlog
Issue body actions

JavaScript 数据结构与算法(二)数组

几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。
数组通常情况下用于存储一系列同一种数据类型的值。
但在 JavaScript 里,数组中可以保存不同类型的值。但我们还是要遵守最佳实践,别这么做(大多数语言都没这个能力)。

创建和初始化数组

  • new Array()

    const daysOfWeek = new Array(
      "Sunday",
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    );
  • []

    const daysOfWeek = [
      "Sunday",
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday",
    ];

数组常见操作

添加元素

  • 添加一个元素到数组的最后位置 array.push(item)
  • 在数组首位插入一个元素 array.unshift(item)
  • 在指定索引位置插入元素 array.splice(index, 0, item)

    splice() 第二个参数为 0 时,表示插入数据。

    let myArray = [1, 2, 3];
    // 在 索引 0 的位置,插入 A
    myArray.splice(0, 0, "A");
    console.log(myArray); //--> ['A', 1, 2, 3]

删除元素

  • 删除数组最后的元素 array.pop(item)
  • 删除数组首位的元素 array.shift(item)
  • 删除指定索引位置的元素 array.splice(start, number)
    例如:
    let myArray2 = [1, 2, 3, 4, 5];
    // 删除索引 4 位置起,2 个元素
    myArray2.splice(4, 2);
    console.log(myArray2); //--> [1, 2, 3, 4]

修改元素

  • 修改指定索引位置的元素 array.splice(index, 1, item)
    let myArray3 = [1, 2, 3, 4, 5, 6];
    // 修改 索引 1 的位置的元素为 AA
    myArray2.splice(1, 1, "AA");
    console.log(myArray3); //--> [1, "AA", 3, 4, 5, 6]
  • 修改指定索引位置的几个元素 array.splice(index, number, item)
    let myArray4 = [1, 2, 3, 4, 5, 6, 7];
    // 在 索引 2 的位置起,修改两个元素为 AA BB
    myArray2.splice(2, 2, "AA", "BB");
    console.log(myArray3); //--> [1, 2, "AA", "BB", 5, 6, 7]
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.