JavaScript 中的数组(Array)类型提供了丰富的方法来操作数组数据。以下是一些常用的方法,包括它们的用途和简例:
-
添加/删除元素
push(element1, ..., elementN)
: 在数组末尾添加一个或多个元素,并返回新长度。let arr = [1, 2]; arr.push(3); console.log(arr); // 输出: [1, 2, 3]
pop()
: 移除数组最后一个元素,并返回该元素。let arr = [1, 2, 3]; let last = arr.pop(); console.log(last); // 输出: 3 console.log(arr); // 输出: [1, 2]
shift()
: 移除数组第一个元素,并返回该元素。let arr = [1, 2, 3]; let first = arr.shift(); console.log(first); // 输出: 1 console.log(arr); // 输出: [2, 3]
unshift(element1, ..., elementN)
: 在数组开头添加一个或多个元素,并返回新长度。let arr = [1, 2]; arr.unshift(0); console.log(arr); // 输出: [0, 1, 2]
-
查找元素
indexOf(searchElement[, fromIndex])
: 返回数组中指定元素的第一个索引,未找到返回-1。let arr = [1, 2, 3]; console.log(arr.indexOf(2)); // 输出: 1
lastIndexOf(searchElement[, fromIndex])
: 返回数组中指定元素的最后一个索引,未找到返回-1。let arr = [1, 2, 3, 2]; console.log(arr.lastIndexOf(2)); // 输出: 3
includes(searchElement[, fromIndex])
: 判断数组是否包含指定元素,返回布尔值。let arr = [1, 2, 3]; console.log(arr.includes(2)); // 输出: true
-
遍历/映射
forEach(callback(currentValue[, index[, array]])[, thisArg])
: 遍历数组,对每个元素执行提供的函数。let arr = [1, 2, 3]; arr.forEach((value, index) => console.log(value));
map(callback(currentValue[, index[, array]])[, thisArg])
: 创建一个新数组,其结果是原数组每个元素都调用一个提供的函数处理后得到的。let arr = [1, 2, 3]; let newArr = arr.map(x => x * 2); console.log(newArr); // 输出: [2, 4, 6]
-
筛选/过滤
filter(callback(element[, index[, array]])[, thisArg])
: 创建一个新数组,包含通过测试的所有元素。let arr = [1, 2, 3, 4]; let evenArr = arr.filter(x => x % 2 === 0); console.log(evenArr); // 输出: [2, 4]
-
排序
sort([compareFunction])
: 对数组元素进行排序,默认按照字典顺序排序字符串,对于数字则需提供比较函数。let arr = [3, 1, 4, 1, 5, 9]; arr.sort((a, b) => a - b); // 升序排列 console.log(arr); // 输出: [1, 1, 3, 4, 5, 9]
-
合并/拼接
concat(array1[, array2[, ...[, arrayN]]])
: 返回一个新数组,是将当前数组与其它数组或值连接而成的新数组。let arr1 = [1, 2]; let arr2 = [3, 4]; let combined = arr1.concat(arr2); console.log(combined); // 输出: [1, 2, 3, 4]
-
截取/切片
slice(start[, end])
: 返回一个新的数组,包含从 start 到 end (不包括 end )的数组部分。let arr = [1, 2, 3, 4]; let sliceArr = arr.slice(1, 3); console.log(sliceArr); // 输出: [2, 3]
这只是JavaScript数组方法的一部分,实际上还有更多如 reduce
, reduceRight
, every
, some
, fill
, splice
等方法,用于更复杂的数组操作。