上一节我们详细讲解了JS中的Date对象,本节我们将学习JS中的Array(数组)对象。
在JS中,数组是一种特殊的对象,用于存储多个有序的值。你可以通过索引访问数组中的特定元素,例如arr[0]获取第一个元素,arr[1]获取第二个元素等。

例如,如果我们有一个包含一些数字的数组,我们可以像这样使用它:
let numbers = [1, 2, 3, 4, 5]; console.log(numbers[0]); // 输出:1 console.log(numbers[2]); // 输出:3
值得注意的是,JS中数组存储的元素可以是多种类型,比如我们可以同时在一个数组里存储字符串、布尔值、数字和对象等:
// 创建Dotcpp用户
const dotcpp_user = {
nickName: "dotcpp_user",
signature:"学习使人进步",
grade:100,
degree:'P1',
greet: function() {
return `你好,我是${this.nickName}`;//此处this指向调用该方法的对象
}
};
const arr=['Dotcpp编程',true,0,dotcpp_user]
for(let i=0;i<arr.length;++i)console.log(arr[i]);
//依次打印
//Dotcpp编程
//true
//0
//{nickName: 'dotcpp_user', signature: '学习使人进步', grade: 100, degree: 'P1', greet: ƒ}JS中的Array对象是一个特殊类型的对象,用于存储一组有序的元素。它提供了一些方法来操作数组,如添加、删除、查找和修改元素。下面我们通过一张表格来总览其常用方法和属性。
| 基础操作 | |
push(element) | 末尾添加元素 |
pop() | 删除末尾元素 |
shift() | 删除开头元素 |
unshift(element) | 开头添加元素 |
concat(array) | 合并数组 |
slice(start, end) | 截取数组片段 |
splice(start, count, items) | 删除/插入元素 |
| 搜索查找 | |
indexOf(element) | 查找元素位置 |
includes(element) | 检查是否包含 |
find(callback) | 查找满足条件元素 |
findIndex(callback) | 查找元素索引 |
| 迭代处理 | |
forEach(callback) | 遍历数组 |
map(callback) | 映射新数组 |
filter(callback) | 过滤数组 |
reduce(callback) | 累计计算 |
| 其他常用 | |
join(separator) | 数组转字符串 |
sort() | 排序 |
reverse() | 反转 |
length | 数组长度 |
下面我们展示一些基础的操作,包括数组的增删改查:
const num=[1,2,3,4,5] /* 增 */ num.push(6); console.log(num);//尾增-[1,2,3,4,5,6] num.unshift(0); console.log(num);//头增-[0,1,2,3,4,5,6] /* 删 */ num.pop(); console.log(num);//尾删-[0,1,2,3,4,5] num.shift(); console.log(num);//头删-[1,2,3,4,5] /* 查+改 */ console.log(num[0]);//1 num[0]=0,num[4]=0; console.log(num);//[0,2,3,4,0]
如何对数组进行迭代呢?我们可以使用这些方法来迭代数组:
| 函数 | 功能 | 返回值 |
|---|---|---|
forEach(callback) | 对每个元素执行函数 | undefined |
map(callback) | 对每个元素执行函数,创建新数组 | 新数组 |
filter(callback) | 过滤满足条件的元素 | 新数组(过滤后的) |
reduce(callback, initialValue) | 将数组减少为单个值 | 累计值 |
every(callback) | 检查是否所有元素都满足条件 | 布尔值 |
some(callback) | 检查是否至少有一个元素满足条件 | 布尔值 |
这里最常用的方法就是map和forEach了。下面我们展示如何使用map对数组内元素进行批量修改,通过forEach进行数组的遍历。
/* map */
let colors = ['红','绿','蓝']
colors=colors.map(function(ele){//ele标识元素
return ele+'色';
})
console.log(colors);//['红色', '绿色', '蓝色']
/* forEach遍历颜色数组 */
colors.forEach(function(ele){
console.log(ele);
})
//依次打印
//红色
//绿色
//蓝色如果我们访问数组中不存在的下标,该元素会变成undefined。
console.log(colors[1000]);//undefined
注意:在JavaScript中,数组是一种特殊的对象,它具有一些额外的特性,如自动索引和自动类型转换。例如,你可以直接使用索引访问数组中的元素(如arr[0]),而不需要使用点符号(如arr.0)。此外,JavaScript中的所有值都是可变的,这意味着你可以随时更改数组中的任何元素的属性或值。
总结:本节我们详细讲解了JS中的Array数组对象,了解了数组的遍历以及一些基础属性;数组对于JS来说十分重要,读者需要勤加练习,熟悉数组的属性和方法调用。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程