返回

数组基本知识,助你轻松掌握JavaScript数据存储秘诀

前端

数组的本质 - 有序元素集合
数组,顾名思义,就是一组有序的元素集合。在JavaScript中,数组是一种内置对象,用于存储多个值,无论这些值是数字、字符串、布尔值,甚至是其他数组。

数组的创建与初始化

创建数组有两种常见的方法:

  1. 使用字面量语法

    // 创建一个包含三个元素的数组
    const numbers = [1, 2, 3];
    
    // 创建一个包含各种数据类型的数组
    const mixedArray = [1, "Hello", true, [4, 5]];
    
  2. 使用Array()构造函数

    // 创建一个空数组
    const emptyArray = new Array();
    
    // 创建一个包含三个元素的数组
    const numbers = new Array(1, 2, 3);
    
    // 创建一个包含10个 undefined元素的数组
    const undefinedArray = new Array(10);
    

数组的属性与方法

数组具有丰富的属性和方法,可以帮助我们轻松操作数组中的元素。

1. length属性

length属性返回数组的元素个数。我们可以使用它来确定数组的大小。

const numbers = [1, 2, 3];
console.log(numbers.length); // 输出:3

2. push()方法

push()方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。

const numbers = [1, 2, 3];
numbers.push(4, 5);
console.log(numbers); // 输出:[1, 2, 3, 4, 5]

3. pop()方法

pop()方法删除数组最后一个元素,并返回该元素。

const numbers = [1, 2, 3];
const lastElement = numbers.pop();
console.log(lastElement); // 输出:3
console.log(numbers); // 输出:[1, 2]

4. unshift()方法

unshift()方法将一个或多个元素添加到数组的开头,并返回新数组的长度。

const numbers = [1, 2, 3];
numbers.unshift(0);
console.log(numbers); // 输出:[0, 1, 2, 3]

5. shift()方法

shift()方法删除数组第一个元素,并返回该元素。

const numbers = [1, 2, 3];
const firstElement = numbers.shift();
console.log(firstElement); // 输出:1
console.log(numbers); // 输出:[2, 3]

6. indexOf()方法

indexOf()方法返回某个元素在数组中首次出现的位置,如果没有找到该元素,则返回-1。

const numbers = [1, 2, 3, 4, 5];
console.log(numbers.indexOf(3)); // 输出:2
console.log(numbers.indexOf(6)); // 输出:-1

7. lastIndexOf()方法

lastIndexOf()方法返回某个元素在数组中最后一次出现的位置,如果没有找到该元素,则返回-1。

const numbers = [1, 2, 3, 4, 5, 3];
console.log(numbers.lastIndexOf(3)); // 输出:5
console.log(numbers.lastIndexOf(6)); // 输出:-1

数组的遍历

遍历数组有以下几种常见方法:

1. for循环

const numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
  console.log(numbers[i]);
}

2. forEach()方法

const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number) => {
  console.log(number);
});

3. map()方法

const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map((number) => {
  return number * 2;
});
console.log(doubledNumbers); // 输出:[2, 4, 6, 8, 10]

数组的排序

我们可以使用sort()方法对数组中的元素进行排序。

const numbers = [5, 1, 3, 2, 4];
numbers.sort();
console.log(numbers); // 输出:[1, 2, 3, 4, 5]

数组的查找

我们可以使用find()findIndex()方法在数组中查找元素。

const numbers = [1, 2, 3, 4, 5];

// 查找第一个大于等于3的元素
const firstNumberGreaterThanOrEqualTo3 = numbers.find((number) => {
  return number >= 3;
});
console.log(firstNumberGreaterThanOrEqualTo3); // 输出:3

// 查找第一个大于等于3的元素的索引
const index