js-数组方法汇总

437 阅读4分钟
var a1=[1,2,3],a2=[4,5,6]

方法名称 方法解释 方法示例
push() 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度,原数组改变 a1.push(1)--> 4 [1,2,3,1]
pop() 数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项,原数组改变 a1.pop()--> 3 [1,2]
unshift() 将参数添加到原数组开头,并返回数组的长度 原数组改变 a1.unshift(1)--> 4 [1,1,2,3]
shift() 删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined ,原数组改变 a1.shift()--> 1 [2,3]
join(a) 将数组的元素组成一个字符串,以a为连接符,省略的话则用默认用逗号为连接符, a1.join()-->"1,2,3"
indexOf(a,b) 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找 a1.indexOf(1)-->0
lastIndexOf(a,b) 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。 a1.lastIndexOf(2)-->1
sort() 按升序排列数组项——即最小的值位于最前面,最大的值排在最后面,原数组改变 a1.sort() -->[1,2,3]
reverse() 反转数组项的顺序,原数组改变 a1.reverse()-->[3,2,1]
concat() 合并数组,原数组改变 a1.concat(a2)-->[1,2,3,4,5,6]
slice(a,b) 返回从原数组中指定开始下标a到结束下标b之间的项组成的新数组,原数组不变 a1.slice(1)-->[2,3] a1.slice(1,2)-->[2]
splice() 1.删除:可以删除任意数量的项,只需指定 2 个参数:要删除的第一项的位置和要删除的项数。 2.增加:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项 3.替换,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。 原数组改变 a1.splice(0,2)--> [1,2] a1.splice(2,0,4)-->[1, 2, 4, 3] a1.splice(2,1,4)--->[1, 2, 4]
forEach() 对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。 a1.forEach(function(x, index, a){
console.log(x + '值' + index + '下标' + (a === a1));
}); ---> 1 0 true /2 1 true/3 2 true
includes() 查看数组是否包含指定项,要求全等=== a1.includes("5") -->false
filter() 返回满足条件的成员组成的数组,没有满足条件的返回一个空数组 var s3= a1.filter(function (item,index,array) {
return item>5
}) --> []
find() 如果数组中包含满足条件的项,则返回该项,没有返回undefined var s4 = a1.find(function (item, index, array) {
return item == 3
}) -->3
map() 对元素中的元素进行加工处理,产生一个新的数组 var s5=a1.map(function (item,index,array) {
return "爱你"+item;
})--> ["爱你1", "爱你2", "爱你3"]
keys() 从数组中创建一个可迭代的对象,该对象包含数组的键。 var s6 = a1.keys();
console.log("keys",s6); -->Array Iterator
for (let key of s6) {
console.log(key);
} -->0,1,2 数组下标
every() 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。否则返回false var a = arr.every(function(item,index,array) {
return item < 4;
}); -->true var a = arr.some(function(item,index,array) {
return item < 2 ;
}); -->false item -->必须。当前元素的值 index -->可选。当前元素的索引值 array -->可选。数组本身及arr
some() 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。没有返回false var a = arr.some(function(item,index,array) {
return item < 3;
}); -->true var a = arr.some(function(item,index,array) {
return item < 5 ;
}); -->false item -->必须。当前元素的值 index -->可选。当前元素的索引值 array -->可选。数组本身及arr
reduce() reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值 var s7= a1.reduce(function (total,currentValue) {
return total *=currentValue;
},init)
console.log(s7);-->6 total -->表示累加等操作的结果值 currentValu -->当前的数组项 init --> total的初始值