JavaScript 中有很多用于操作数组的方法,以下是一些常用的数组方法:
目录
push(): 向数组的末尾添加一个或多个元素,并返回新的长度。
pop(): 删除数组的最后一个元素,并返回该元素的值。
shift(): 删除数组的第一个元素,并返回该元素的值。
unshift(): 向数组的开头添加一个或多个元素,并返回新的长度。
concat(): 连接两个或多个数组,并返回一个新数组,不改变原数组。
slice(): 从已有的数组中返回选定的元素,不改变原数组。
forEach(): 对数组的每个元素执行一次提供的函数。
splice(): 通过删除或替换现有元素或者原地添加新元素来修改数组。
join(separator): 将数组的所有元素连接成一个字符串。
indexOf(searchElement[, fromIndex]): 返回指定元素在数组中第一次出现的索引,
lastIndexOf(searchElement[, fromIndex]): 返回指定元素在数组中最后一次出现的索引
includes(searchElement[, fromIndex]): 判断数组是否包含指定元素
reverse(): 将数组中的元素倒序排列,并返回该数组。
filter(callback): 创建一个新数组,
-
push()
: 向数组的末尾添加一个或多个元素,并返回新的长度。let arr = [1, 2, 3]; arr.push(4); // arr 现在为 [1, 2, 3, 4]
-
pop()
: 删除数组的最后一个元素,并返回该元素的值。let arr = [1, 2, 3]; let lastElement = arr.pop();// lastElement 的值为 3,arr 现在为 [1, 2]
-
shift()
: 删除数组的第一个元素,并返回该元素的值。let arr = [1, 2, 3]; let firstElement = arr.shift(); // firstElement 的值为 1,arr 现在为 [2, 3]
-
unshift()
: 向数组的开头添加一个或多个元素,并返回新的长度。let arr = [2, 3]; arr.unshift(1); // arr 现在为 [1, 2, 3]
-
concat()
: 连接两个或多个数组,并返回一个新数组,不改变原数组。let arr1 = [1, 2]; let arr2 = [3, 4]; let newArr = arr1.concat(arr2); // newArr 为 [1, 2, 3, 4]
-
slice()
: 从已有的数组中返回选定的元素,不改变原数组。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(1, 3);
// newArr 为 [2, 3],arr 仍然为 [1, 2, 3, 4, 5]
7.forEach()
: 对数组的每个元素执行一次提供的函数。
let arr = [1, 2, 3];
arr.forEach(function(element){ console.log(element);
}); // 输出: // 1 // 2 // 3
8.splice()
: 通过删除或替换现有元素或者原地添加新元素来修改数组。
splice() 方法是 JavaScript 中用于修改数组的强大方法,可以实现删除、替换和添加元素的功能。该方法接受三个参数: 详解讲解一下用法 参数
-
起始位置(start):这是要修改的起始位置的索引。如果是正数,表示从数组的开头开始计数;如果是负数,表示从数组的末尾开始计数。如果提供的索引超出了数组的长度,
splice()
方法将从数组的开头或末尾开始进行修改。如果起始位置是负数,并且绝对值大于数组的长度,则起始位置会被处理为 0。 -
删除数量(deleteCount):这是要删除的元素数量。如果提供了这个参数,则表示要删除的元素数量。如果不提供这个参数或者提供了一个大于数组剩余元素数量的值,则表示删除起始位置之后的所有元素(包括起始位置)。
-
要添加的元素(item1, item2, ...):这是要添加进数组的新元素,它们将被插入到起始位置之后的位置上。可以提供任意数量的元素作为参数。如果没有提供要添加的元素,则
splice()
方法只会执行删除操作,不会进行添加操作。
下面是一些示例:
-
删除元素:
let arr = [1, 2, 3, 4, 5]; arr.splice(1, 2); // 从索引 1 开始删除 2 个元素 // arr 现在为 [1, 4, 5] //起始索引若为-1 则从后数删除第一个元素
-
替换元素:
let arr = [1, 2, 3, 4, 5]; arr.splice(1, 2, 'a', 'b'); // 从索引 1 开始删除 2 个元素,并插入 'a' 和 'b' // arr 现在为 [1, 'a', 'b', 4, 5]
-
添加元素:
let arr = [1, 2, 3, 4, 5]; arr.splice(2, 0, 'x', 'y'); // 从索引 2 开始不删除任何元素,并插入 'x' 和 'y' // arr 现在为 [1, 2, 'x', 'y', 3, 4, 5]
splice()
方法是 JavaScript 数组中用于修改数组的一种灵活的方式,它可以在数组中进行删除、替换和添加元素的操作,是处理数组的重要工具之一。
10.join(separator)
: 将数组的所有元素连接成一个字符串。可以指定一个可选的分隔符来分隔元素,默认是逗号 ,
。
let arr = ['apple', 'banana', 'orange'];
let str = arr.join(', ');
// str 的值为 "apple, banana, orange"
11.indexOf(searchElement[, fromIndex])
: 返回指定元素在数组中第一次出现的索引,如果没有找到该元素,则返回 -1。可选参数 fromIndex
指定开始搜索的起始索引,默认为 0。
let arr = [1, 2, 3, 4, 5];
let index = arr.indexOf(3);
// index 的值为 2 找不到返回-1
12.lastIndexOf(searchElement[, fromIndex])
: 返回指定元素在数组中最后一次出现的索引,如果没有找到该元素,则返回 -1。可选参数 fromIndex
指定开始搜索的起始索引,默认为数组末尾。
let arr = [1, 2, 3, 4, 5, 2];
let lastIndex = arr.lastIndexOf(2);
// lastIndex 的值为 5
13.includes(searchElement[, fromIndex])
: 判断数组是否包含指定元素,如果包含则返回 true
,否则返回 false
。可选参数 fromIndex
指定开始搜索的起始索引,默认为 0。
let arr = [1, 2, 3, 4, 5];
let includes = arr.includes(3);
// includes 的值为 true
14.reverse()
: 将数组中的元素倒序排列,并返回该数组。
let arr = [1, 2, 3, 4, 5];
arr.reverse();
// arr 现在为 [5, 4, 3, 2, 1]
15.filter(
callback)
: 创建一个新数组,其中包含通过指定函数测试的所有元素。如果某个元素通过测试,就会包含在新数组中;否则,将被过滤掉。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(function(element) {
return element > 2;
});
// newArr 现在为 [3, 4, 5]
这些是 JavaScript 中常用的一些数组方法,它们使得在处理数组时更加方便和灵活。