重温数组

数组的一些基本方法

方法|描述|参数|是否改变原数组
:--😐:--😐:--😐:--😐:---
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])
posted @ 2019-05-01 13:42  Devin_n  阅读(123)  评论(0编辑  收藏  举报