数组中的常用方法
常用操作数组的方法
增加数组数据
(1)push() 将新增的数据放到了数组的最后可以是多个数据,并返回最新数组的长度,不会返回新的数组,因为是直接在原数组中进行追加的
let num = []; // 创建一个数组
let count = num.push("1", "8"); // 新增两项
console.log(count) // 2
(2)unshift()
数组开头添加任意多个值,然后返回新的数组长度,原数组变化了,使用方法和上面的一样
(3)splice()
需要传入三个参数,第一个参数表示开始追加位置的下标,第二个数据表示要删除元素的数量,第三个参数就是要插入的元素,返回的是一个空数组,因为返回的是删除的元素,原数组发生了变化
let colors = ["red", "green", "blue"];
let removed = colors.splice(1, 0, "yellow", "orange")
console.log(colors) // red,yellow,orange,green,blue
console.log(removed) // []
(4)concat() 首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组,不会影响原始数组,增加的数据可以是数组类型
let colors = ["red", "green", "blue"];
let colors2 = colors.concat("yellow", ["black", "brown"]);
console.log(colors); // ["red", "green","blue"]
console.log(colors2); // ["red", "green", "blue", "yellow", "black", "brown"]
删除数组数据
(1)pop()
pop() 方法用于删除数组的最后一项,同时减少数组的length值,返回被删除的项,原数组发生了变化
(2)shift()
shift()方法用于删除数组的第一项,同时减少数组的length 值,返回被删除的项,原数组发生了变化
(3)splice()
传入两个参数,分别是开始位置,删除元素的数量,返回删除的元素,原数组发生了变化
(4)slice()
slice() 用于创建一个包含原有数组中一个或多个元素的新数组,参数为删除的元素下标,不会影响原始数组
let colors = ["red", "green", "blue", "yellow", "purple"];
let colors2 = colors.slice(1);
let colors3 = colors.slice(1, 4);
console.log(colors) // red,green,blue,yellow,purple
concole.log(colors2); // green,blue,yellow,purple
concole.log(colors3); // green,blue,yellow
修改数组数据
splice() 和上面增加用法一样,相当于先删除后追加
let colors = ["red", "green", "blue"];
let removed = colors.splice(1, 1, "purple"); // 插入两个值,删除一个元素
console.log(colors); // red,purple,blue
console.log(removed); // green,只有一个元素的数组
查看数组数据
(1)indexOf()
如果找到则返回该元素所在数组的下标,没有找到返回-1
(2)includes()
如果找到则返回true,没有找到返回false
(3)find()
返回第一个匹配的元素,方法中用函数写条件
数组常用的排序方法
(1)reverse()
顾名思义,将数组元素方向反转,改变了原数组
(2)sort()
按照代码执行进行对数组进行排序,改变了原数组
数组常用的转换方法
join()
join() 方法接收一个参数,即字符串分隔符,返回的数据是字符串类型,包含所有数据,按照一定顺序排列
数组常用的迭代方法
(1)map()
遍历所有项,并返回执行条件后的新数组
(2)forEach()
遍历所有项,并执行函数体没有return
(3)filter()
遍历所有项,并返回满足函数体中条件的每一项,返回的是新数组。
(4)some()
参数中写函数,只要有元素满足条件就返回true
(5)every()
所有的条件符合函数体中的条件才会返回true
这些我之前在博客中写过,就不在重复写了,但是之前没写执行后的数据内容,可以运行以下。详见地址
juejin.cn/post/709379…
改变原数组的方法总结
迭代方法和转换方法中的每一个方法都不会改变原数组,排序方法都会改变原数组(reverse,sort),在数组的操作中(push, unshift, splice, pop, shift)这些方法会改变原数组