重温数组

数组的一些基本方法

方法 描述 参数 是否改变原数组
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])

猜你喜欢

转载自www.cnblogs.com/zdf-xue/p/10799674.html