数组的一些基本方法
方法 | 描述 | 参数 | 是否改变原数组 |
---|---|---|---|
concat() | 连接两个或更多的数组,并返回结果。 | - | - |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | - | - |
pop() | 删除并返回数组的最后一个元素。 | - | yes |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 | - | yes |
reverse() | 颠倒数组中元素的顺序。 | - | - |
slice() | 从某个已有的数组返回选定的元素 | - | - |
shift() | 删除并返回数组的第一个元素。 | - | yes |
sort() | 对数组的元素进行排序。 | - | - |
splice() | 删除元素,并向数组添加新元素。 | - | yes |
toString() | 把数组转换为字符串,并返回结果。 | - | - |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 | - | yes |
indexOf(item,start) | 查找指定元素的位置 | start表示开始查询的索引 | - |
lastIndexOf(item,start) | 查找指定元素最后出现的位置 | start表示开始查询的索引 | - |
forEach | 循环遍历数组每一项 | 函数 ary.forEach(function(item,index,ary){}) item:每一项 index:索引 ary:当前数组 | - |
map | 数组中的元素为原始数组元素调用函数处理后的值 | ary.map((item,index,ary)=>{return item}) item:每一项 index:索引 ary:当前数组 | - |
filter | 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 | ary.filter((item,index,ary)=>{return 筛选条件}) item:每一项 index:索引 ary:当前数组 | - |
every | 检测数组==所有元素==是否都符合指定条件(true or false) | ary.every(function(item,index,ary){return 筛选条件}) item:每一项 index:索引 ary:当前数组 | - |
some | 检测数组中的==元素==是否满足指定条件 | ary.some(function(item,index,ary){return 筛选条件}) item:每一项 index:索引 ary:当前数组 | - |
find() | 用于找出==第一个==符合条件的数组成员 | arr.find((n) => n < 0) | - |
findIndex() | 返回==第一个==符合条件的数组成员的位置 | arr.find((n) => n < 0) | - |
includes() | 某个数组是否包含给定的值 | arr.includes(2) | - |
reduce() | 数组中的每个值(从左至右) 开始合并,最终为一个值。 | array.reduce((p, v) => p * v) | - |
数组应用
1.过滤
Set类型是在ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值。结合扩展运算符(...)我们可以创建一个新的数组,达到过滤原数组重复值的功能。
const array = [1, 2, 3, 3, 5, 5, 1];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 5]
2.截取数组
如果您想从数组的末尾删除值,有比使用splice()更快的替代方法。
例如,如果你知道原始数组的长度,就可以通过重新定义它的length属性来实现截取。
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array.length = 4;
console.log(array); // Result: [0, 1, 2, 3]
slice()方法的运行时更快。如果速度是你的主要目标,考虑使用下面的方式。
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array = array.slice(0, 4);
console.log(array); // Result: [0, 1, 2, 3]
3.获取数组中的最后的元素
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(array.slice(-1)); // Result: [9]
console.log(array.slice(-2)); // Result: [8, 9]
console.log(array.slice(-3)); // Result: [7, 8, 9]
4.连接数组
4.1我们要连接两个数组可以采用concat这个方法;
let arr01 = [1,2,3];
let arr02 = [4,5,6];
console.log(arr01.concat(arr02))
4.2 使用扩展符;
let arr01 = [1,2,3];
let arr02 = [4,5,6];
console.log([...arr01,...arr02])
console.log(['zdf',...arr01])