es6和es5的数组方法
数组方法Array
1.unshift ()在数组头部增加一项
2.shift()在数组头部删除一项
3.push()在数组尾部增加一项
4.pop()在数组尾部删除一项
5.reverse()将数组倒叙
6.sort()将数组排序
7.splice(item,1)删除数组或替换数组元素
8.concat()创建副本,然后将参数添加到这个副本数组的末尾
9.join()数组变为字符串。字符串通过指定的分隔符进行分隔。
10.toString()把数组转换为(逗号分隔)的字符串
11.slice(start,end)用于截取一段数组中的成员
12.fill(item,start,end)使用一个固定值来替换数组中的元素fill()方法还有三个可选参数,表示填充的元素起始位置和结束位置
13.copyWithin(target,start,end) 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。
javaScript改变原数组的方法
unshift(), shift() 头增 头删
push(), pop() 尾增 尾删
reverse(), sort(), splice() 反转排序增添换
fill(), copyWithin() ES6新增
ES5数组方法(2009)
indexOf()
在数组中搜索元素值
返回其位置——下标 or -1
arr.indexOf(item,start)
说明:indexOf方法比较时使用的是全等判定
lastIndexOf()
与 Array.indexOf() 类似,但是从数组结尾开始搜索
Array.lastIndexOf(item, start)
.
item:必需,要检索的项目;
start:可选,从哪里开始搜索。(负值将从结尾开始的给定位置开始,并搜索到开头)
forEach()
遍历数组,为每个数组元素调用一次函数(回调函数)
Array.forEach(function(item,index,array){})
.
item:遍历到的元素;
index:遍历到的下标;
array:数组本身
用于循环 参数是一个函数 该函数会执行arr.length次 无返回值
reduce()
计算数组元素相加后的总和:
var arr = [10, 20, 30, 40, 50];
var res = arr.reduce(function(total, value, index, array){
console.log(total + "," + value); //10,20/30.30/60,40/100,50
return total + value;
});
console.log(res); //150
total:总数(初始值/先前返回的值);
value:项目值;
index:项目索引;
array:数组本身
reduceRight()
reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。
map()
arr.map(function(item,value,array){})
.
item:数组成员;
index:索引;
array:数组本身
用于循环执行arr.length次(遍历—操作—返回),返回值是一个新数组 数组长度与原数组保持一致 数组的成员是参数函数的返回值
map() 不会对空数组进行检测。
filter()
Array.filter(function(item,index,array){})
.
接收一个函数作为参数:item:成员;index:索引;array:数组本身;
该函数返回一个条件表达式 返回值是符合参数函数条件表达式的成员组成的数组
some() 方法用于检测数组中的元素是否满足指定条件
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。