JavaScript 数组(Array)对象

JavaScript 数组(Array)对象是一种特殊的对象,它可以用来存储和操作一组数据。

在 JavaScript 中,数组是通过一组有序的、下标从 0 开始的元素来表示。数组可以存储任意类型的数据,包括字符串、数字、布尔值、对象等。可以使用数组的下标来访问单个元素,也可以使用循环等方式遍历数组中的所有元素。

下面介绍一些常用的 JavaScript 数组方法和一些使用示例。

## 创建数组

创建一个数组可以使用数组字面量方式([])或者 Array 构造函数。

使用数组字面量可以直接指定数组的元素:

```javascript

const arr = [1, 2, 3];

```

使用 Array 构造函数也可以创建数组:

```javascript

const arr = new Array(1, 2, 3);

```

如果只传递一个参数,则该参数表示数组的长度,如果传递多个参数,则表示数组的元素:

```javascript

const arr1 = new Array(3); // 创建一个长度为 3 的数组

const arr2 = new Array("a", "b", "c"); // 创建一个包含字符串元素的数组

console.log(arr1); // [undefined, undefined, undefined]

console.log(arr2); // ["a", "b", "c"]

```

## 获取数组信息

获取数组信息的方法包括获取数组长度(length)、判断数组是否为空(isEmpty)、判断元素是否在数组中(includes)、获取元素在数组中的下标(indexOf)等。

```javascript

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

console.log(arr.length); // 5

console.log(arr.isEmpty()); // false

console.log(arr.includes(3)); // true

console.log(arr.indexOf(4)); // 3

```

## 修改数组

修改数组的方法包括添加元素(push)、删除元素(pop、shift、splice)和修改元素(set、sort、reverse)。

```javascript

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

arr.push(6); // 在末尾添加元素

arr.pop(); // 删除末尾元素

arr.shift(); // 删除第一个元素

arr.splice(1, 2); // 删除从下标 1 开始的 2 个元素

arr[2] = 6; // 修改数组中下标为 2 的元素

arr.sort(); // 按照升序排序数组

arr.reverse(); // 颠倒数组中元素的顺序

```

## 截取和连接数组

截取数组可以使用 slice 方法,该方法返回一个新数组,不会修改原数组。连接数组可以使用 concat 方法,该方法会创建一个新数组,将多个数组合并到一起。

```javascript

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

const arr1 = arr.slice(1, 3); // 截取下标为 1 和 2 的元素

const arr2 = arr.concat([6, 7, 8]); // 连接数组

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

console.log(arr2); // [1, 2, 3, 4, 5, 6, 7, 8]

```

## 迭代数组

迭代数组的方法包括循环遍历(for、forEach)和条件迭代(filter、map、reduce)。

```javascript

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

for (let i = 0; i < arr.length; i++) {

console.log(arr[i]);

}

arr.forEach((item) => {

console.log(item);

});

const arr1 = arr.filter((item) => item > 3); // 过滤出大于 3 的元素

const arr2 = arr.map((item) => item * 2); // 对数组中每个元素乘以 2

const arr3 = arr.reduce((prev, curr) => prev + curr); // 求和

console.log(arr1); // [4, 5]

console.log(arr2); // [2, 4, 6, 8, 10]

console.log(arr3); // 15

```

## 数组拷贝

数组拷贝的方法包括浅拷贝(slice、concat)和深拷贝(JSON.parse、JSON.stringify)。

```javascript

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

const arr1 = arr.slice(); // 浅拷贝

const arr2 = arr.concat(); // 浅拷贝

const arr3 = JSON.parse(JSON.stringify(arr)); // 深拷贝

console.log(arr1); // [1, 2, 3, 4, 5]

console.log(arr2); // [1, 2, 3, 4, 5]

console.log(arr3); // [1, 2, 3, 4, 5]

```

## 使用案例

1. 数组去重

```javascript

const arr = [1, 2, 3, 4, 3, 2, 1];

// 使用 Set 对象去重

const set = new Set(arr);

const arr2 = Array.from(set);

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

```

2. 数组统计

```javascript

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

const obj = {};

arr.forEach((item) => {

if (obj[item]) {

obj[item]++;

} else {

obj[item] = 1;

}

});

console.log(obj); // {1: 2, 2: 2, 3: 2, 4: 1, 5: 1}

```

3. 数组排序

```javascript

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

// 升序排列

arr.sort((a, b) => a - b);

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

// 降序排列

arr.sort((a, b) => b - a);

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

```

4. 数组搜索

```javascript

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

// 通过 includes 方法判断元素是否在数组中

console.log(arr.includes(3)); // true

// 通过 indexOf 方法获取元素在数组中的下标

console.log(arr.indexOf(4)); // 3

```

总之,数组是 JavaScript 中非常重要的一种数据结构,掌握数组的基本操作和常用方法可以让我们更加灵活、高效地编写代码。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(66) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部