JavaScript数组——操作数据列表js数组教程
JavaScript数组,操作数据列表js数组教程。
变量可以存储单个值,对象可以存储键值对。但如果我们需要存储一个有序的列表,比如一组成绩、一个商品清单、所有学生的姓名,该怎么办?这时,就需要用到数组。
1. 数组的概念
数组是一种用于存储有序集合的数据结构。数组中的每个值称为一个元素,每个元素都有一个数字索引(位置编号)。
- 索引从0开始: 第一个元素的索引是0,第二个是1,以此类推。
- 长度: 数组有一个
length属性,表示数组中元素的个数。
2. 创建数组
最简单的方式是使用数组字面量 []。
// 创建一个空数组
let emptyArray = [];
// 创建一个包含一些元素的数组
let fruits = ["苹果", "香蕉", "橙子", "芒果"];
let numbers = [1, 2, 3, 4, 5];
let mixed = [1, "你好", true, null]; // 数组可以包含任何类型的元素
console.log(fruits); // 输出:["苹果", "香蕉", "橙子", "芒果"]
3. 访问和修改元素
通过元素的索引(放在方括号内)来访问和修改。
let fruits = ["苹果", "香蕉", "橙子"];
// 访问元素
console.log(fruits[0]); // 输出:"苹果"(第一个元素)
console.log(fruits[2]); // 输出:"橙子"(第三个元素)
// 修改元素
fruits[1] = "葡萄"; // 将第二个元素从"香蕉"改为"葡萄"
console.log(fruits); // 输出:["苹果", "葡萄", "橙子"]
// 获取数组长度
console.log(fruits.length); // 输出:3
4. 常用的数组方法和属性
数组提供了大量内置方法,使其非常强大。
length属性
获取数组长度。
push() / pop()
在数组的末尾添加/删除元素。
let arr = [1, 2, 3];
arr.push(4); // 在末尾添加4,arr变为 [1, 2, 3, 4]
let lastElement = arr.pop(); // 删除并返回最后一个元素(4),arr变回 [1, 2, 3]
console.log(lastElement); // 输出:4
unshift() / shift()
在数组的开头添加/删除元素。
let arr = [2, 3];
arr.unshift(1); // 在开头添加1,arr变为 [1, 2, 3]
let firstElement = arr.shift(); // 删除并返回第一个元素(1),arr变回 [2, 3]
console.log(firstElement); // 输出:1
indexOf() / includes()
查找元素。
let fruits = ["苹果", "香蕉", "橙子"];
console.log(fruits.indexOf("香蕉")); // 输出:1(索引)
console.log(fruits.indexOf("西瓜")); // 输出:-1(未找到)
console.log(fruits.includes("橙子")); // 输出:true
forEach()
遍历数组,为每个元素执行一次函数。这是循环数组的现代方式。
let numbers = [10, 20, 30];
numbers.forEach(function(number) {
console.log(number * 2);
});
// 输出:
// 20
// 40
// 60
map()
创建一个新数组,其内容是原数组每个元素调用提供函数后的返回值。它不会改变原数组。
let numbers = [1, 2, 3];
let doubled = numbers.map(function(num) {
return num * 2;
});
console.log(doubled); // 输出:[2, 4, 6]
console.log(numbers); // 原数组不变:[1, 2, 3]
5. 实战练习
练习:管理一个待办事项列表。
let todoList = ["学习HTML", "学习CSS"];
// 1. 添加一个新任务
todoList.push("学习JavaScript");
console.log(todoList); // ["学习HTML", "学习CSS", "学习JavaScript"]
// 2. 完成(删除)第一个任务
todoList.shift();
console.log(todoList); // ["学习CSS", "学习JavaScript"]
// 3. 遍历打印所有任务,前面加上序号
todoList.forEach(function(task, index) { // forEach的回调函数可以接收元素和索引
console.log((index + 1) + ". " + task);
});
// 输出:
// 1. 学习CSS
// 2. 学习JavaScript
总结
数组是处理有序数据列表的利器。通过索引访问元素,并结合强大的内置方法(如 push, pop, forEach, map),我们可以轻松地对列表进行增删改查和遍历操作。数组和对象是JavaScript中最常用的两种数据结构。