目录
创建数组
访问数组元素
修改数组元素
数组的常用方法
创建数组
创建数组可以直接使用字面量语法创建,例如:
let arr = [1, 2, 3, 4, 5];
使用方括号将元素写在其中,用逗号分隔
也可以使用new Array()创建
let arr = new Array(5); // 创建一个包含5个空位的数组
let arr2 = new Array(1, 2, 3); // 创建一个包含1, 2, 3元素的数组
当传入一个数字时,创建一个指定长度的空数组,数组的元素为undefined
当传入多个参数时,创建一个包含这些值的数组
JavaScript中,数组的元素可以是不同的数据类型,也可以嵌套其他数组
let arr = [1, "hello", true, null, [1, 2, 3]];
console.log(arr[4]); // 输出: [1, 2, 3]
访问数组元素
数组的元素通过索引访问,从0开始
let arr = [10, 20, 30, 40, 50];
console.log(arr[0]); // 输出: 10
console.log(arr[3]); // 输出: 40
修改数组元素
通过修改索引来修改数组元素
let arr = [10, 20, 30];
arr[1] = 50; // 修改索引为1的元素
console.log(arr); // 输出: [10, 50, 30]
数组的常用方法
push()
:在数组的末尾添加一个或多个元素,并返回新的数组长度
let str = "Hello, world!";
console.log(str.lastIndexOf('o')); // 输出: 8
pop()
:删除数组的最后一个元素,并返回该元素
let arr = [1, 2, 3];
let removedElement = arr.pop();
console.log(removedElement); // 输出: 3
console.log(arr); // 输出: [1, 2]
shift()
:删除数组的第一个元素,并返回该元素
let arr = [1, 2, 3];
let removedElement = arr.shift();
console.log(removedElement); // 输出: 1
console.log(arr); // 输出: [2, 3]
unshift()
:在数组的开头添加一个或多个元素,并返回新的数组长度
let arr = [1, 2, 3];
arr.unshift(0); // 添加 0 到数组开头
console.log(arr); // 输出: [0, 1, 2, 3]
concat()
:合并两个或多个数组,返回一个新的数组
let arr1 = [1, 2];
let arr2 = [3, 4];
let arr3 = arr1.concat(arr2);
console.log(arr3); // 输出: [1, 2, 3, 4]
join()
:将数组的所有元素连接成一个字符串,可以指定分隔符
let arr = [1, 2, 3];
console.log(arr.join(", ")); // 输出: "1, 2, 3"
slice()
:从数组中提取出一个新的子数组(不修改原数组),可以指定起始和结束索引
let arr = [1, 2, 3, 4, 5];
let subArr = arr.slice(1, 4); // 从索引 1 到 4 (不包括 4)
console.log(subArr); // 输出: [2, 3, 4]
splice()
:用于删除或替换数组中的元素,也可以向数组中添加元素
let arr = [1, 2, 3, 4];
arr.splice(2, 1, 5, 6); // 从索引2开始,删除1个元素,并添加5和6
console.log(arr); // 输出: [1, 2, 5, 6, 4]
sort()
:对数组进行排序,默认按字符串排序
let arr = [4, 1, 3, 2];
arr.sort();
console.log(arr); // 输出: [1, 2, 3, 4]
reverse()
:反转数组中的元素
let arr = [1, 2, 3];
arr.reverse();
console.log(arr); // 输出: [3, 2, 1]
indexOf()
:返回指定元素在数组中第一次出现的位置,如果不存在返回 -1
let arr = [1, 2, 3, 4];
console.log(arr.indexOf(3)); // 输出: 2
console.log(arr.indexOf(5)); // 输出: -1
includes()
:检查数组是否包含某个元素,返回布尔值
let arr = [1, 2, 3, 4];
console.log(arr.includes(3)); // 输出: true
console.log(arr.includes(5)); // 输出: false
find()
:返回数组中第一个满足条件的元素。如果没有符合条件的元素,返回 undefined
let arr = [5, 12, 8, 130, 44];
let found = arr.find(element => element > 10);
console.log(found); // 输出: 12
forEach()
:对数组的每个元素执行一次回调函数
let arr = [1, 2, 3];
arr.forEach((item, index) => {console.log(`Item at index ${index}: ${item}`);
});
filter()
:创建一个新数组,包含所有满足条件的元素
let arr = [1, 2, 3, 4, 5];
let even = arr.filter(x => x % 2 === 0);
console.log(even); // 输出: [2, 4]