目录
splice(start, n):从指定的start位置开始删除n个元素。
splice(start, n, 添加元素):在指定的start位置删除n个元素后添加新元素(可实现添加元素的效果)。
filter:过滤数组元素,返回满足条件的元素组成的新数组。
findIndex:查找并返回第一个符合条件的数组元素的索引位置。
slice(start, end):返回原数组中start到end之间的元素组成的新数组。
every:检测数组元素是否都符合条件,返回boolean值。
some:检测数组中是否有符合条件的元素,返回boolean值。
indexOf:查找值在数组中的位置,返回索引值(找不到返回 - 1)。
lastIndexOf():方法用于在数组中从后往前搜索指定元素,并返回该元素在数组中最后一次出现的索引。(找不到返回 - 1)。
includes:查看数组中是否存在此元素,返回boolean值。
concat:用于合并两个或多个数组,返回一个新数组,原数组不变。
forEach:对数组的每个元素执行一次提供的函数,没有返回值,主要用于遍历操作。
一、改变原数组的方法
-
元素删除类
-
shift
:删除数组的第一个元素。
-
let arr = [1, 2, 3];
let removed = arr.shift();
console.log(arr.toString()); // [2, 3]
console.log(removed.toString()); // 1
-
pop
:删除数组的最后一个元素。
let arr = [1, 2, 3];
let removed = arr.pop();
console.log(arr.toString()); // [1, 2]
console.log(removed.toString()); // 3
-
splice(start, n)
:从指定的start
位置开始删除n
个元素。
let arr = [1, 2, 3, 4];
let removed = arr.splice(1, 2);
console.log(arr.toString()); // [1, 4]
console.log(removed.toString()); // [2, 3]
-
元素添加类
-
push
:在数组的末尾添加元素。
-
let arr = [1, 2];
let newLength = arr.push(3, 4);
console.log(arr.toString()); // [1, 2, 3, 4]
console.log(newLength.toString()); // 4
-
unshift
:在数组的开头添加元素。
let arr = [2, 3];
let newLength = arr.unshift(1);
console.log(arr.toString()); // [1, 2, 3]
console.log(newLength.toString()); // 3
-
splice(start, n, 添加元素)
:在指定的start
位置删除n
个元素后添加新元素(可实现添加元素的效果)。
let arr = [1, 2, 3, 4];
let removed = arr.splice(1, 2, 9, 0);
console.log(arr.toString()); // [1, '9', '0', 4]
console.log(removed.toString()); // [2, 3]
-
元素顺序调整类
-
reverse
:颠倒数组中的元素顺序。
-
let arr = [1, 2, 3];
arr.reverse();
console.log(arr.toString()); // [3, 2, 1]
-
sort
:对数组元素进行排序。
let arr = [3, 1, 2];
arr.sort();
console.log(arr.toString()); // [1, 2, 3]
二、不改变原数组,返回新结果的方法
-
筛选类
-
filter
:过滤数组元素,返回满足条件的元素组成的新数组。
-
let arr = [1, 2, 3, 4, 5];
let result = arr.filter(num => num > 3);
console.log(result.toString()); // [4, 5]
-
find
:查找并返回第一个符合条件的数组元素。
let arr = [1, 2, 3, 4, 5];
let found = arr.find(num => num > 3);
console.log(found?.toString()); // 4
-
findIndex
:查找并返回第一个符合条件的数组元素的索引位置。
let arr = [1, 2, 3, 4, 5];
let index = arr.findIndex(num => num > 3);
console.log(index.toString()); // 3
-
转换类
-
map
:对数组元素进行循环操作并返回新的数组。
-
let arr = [1, 2, 3];
let result = arr.map(num => num * 2);
console.log(result.toString()); // [2, 4, 6]
-
flat
:将多维数组转换为一维数组。
let arr = [1, [2, [3]]];
let result = arr.flat(2);
console.log(result); // [1, 2, 3]
-
join
:将数组转换为字符串。
let arr = ['a', 'b', 'c'];
let str = arr.join('-');
console.log(str); // a - b - c
-
slice(start, end)
:返回原数组中start
到end
之间的元素组成的新数组。
let arr = [1, 2, 3, 4];
let result = arr.slice(1, 3);
console.log(result.toString()); // [2, 3]
-
检测类
-
every
:检测数组元素是否都符合条件,返回boolean
值。
-
let arr = [1, 2, 3, 4];
let result = arr.every(num => num < 5);
console.log(result+''); // true
-
some
:检测数组中是否有符合条件的元素,返回boolean
值。
let arr = [1, 2, 3, 4];
let result = arr.some(num => num > 3);
console.log(result+''); // true
-
indexOf
:查找值在数组中的位置,返回索引值(找不到返回 - 1)。
let arr = [1, 2, 3, 2];
let index = arr.indexOf(2);
console.log(index.toString()); // 1
-
lastIndexOf():
方法用于在数组中从后往前搜索指定元素,并返回该元素在数组中最后一次出现的索引。(找不到返回 - 1)。
-
includes
:查看数组中是否存在此元素,返回boolean
值。
let arr = [1, 2, 3];
let result = arr.includes(2);
console.log(result+''); // true
三、其他
-
concat
:用于合并两个或多个数组,返回一个新数组,原数组不变。
let arr1 = [1, 2];
let arr2 = [3, 4];
let result = arr1.concat(arr2);
console.log(result.toString()); // [1, 2, 3, 4]
-
forEach
:对数组的每个元素执行一次提供的函数,没有返回值,主要用于遍历操作。
let arr = [1, 2, 3];
arr.forEach(num => console.log(num.toString()));
// 1
// 2
// 3
-
toString()此方法将数组转化为字符串
let arr = [1, 2, 3, 4, 5];
let str = arr.toString() //1,2,3,4,5
console.log(str)