9、splice 修改的是原数组,
例: var = [4,3,5,6,7,8]
只传一个参数时,把从这个参数之后的数据全部删掉包括这个参数
arr.splice(2)
传两个参数时,第一个参数从几开始,第二个参数是删除多少个删除元素里包含开始索引的
arr.splice(2,2)
传三个参数及以上时,第三个参数开始后面都是替换的值。可以任意多个
arr.splice(2,2,4,5,7,8)
10、sort()对数组进行排序。
默认是按照编码来排序,只要第一位分出顺序了,就不会看第二位。
指定排序规则:
例:arr.sort(function(a,b){
//指定规则
//a和b是sort方法会依次去取数组里的元素
//如果这里的返回值大于0,那么a和b就会交换顺序,不大于0就不交换
return a-b //升序
return b-a //降序}
ES5的API
1、indexOf() 从arr当中去找2的索引,如果数组里有多个2,得到的是第一次出现的索引。如果这个值不存在,那么就得到-1.
例:var arr = [4,2,4,6,2]
console.log(arr.indexOf(2)) //1
console.log(arr.indexOf(10))// -1
判断数组里是否存在某个值,就用indexOf判断结果是否等于-1
2、lastIndexOf() 从arr当中去找2的索引,如果数组中有多个2,得到的是最后一次出现的索引。如果值不存在,那么得到的是-1.
例:var arr = [4,2,4,6,2]
console.log(arr.indexOf(2)) // 4
console.log(arr.indexOf(10))// -1
3、forEach()ES5新增的一种遍历数组的方式
例:arr.forEach(function(item,index){
//item是值,index是索引})
4、map()也用来遍历数组,遍历的同时需要给一个返回值,所有的返回值会放进一个新的数组。用map的目的是返回值,生成一个新数组。
例:var arr1 = arr.map(function(item , index){
//item是值,index是索引
return item*2})
console.log(arr1)
5、filter() 过滤,每一次遍历的时候都要返回一个条件,当这个条件的结果为true的时候,当前值就会被保留,否则就被过滤掉
例:var = arr[4,2,4,6,2]
var arr1 = arr.filter(function(item , index){
//item是值,index是索引
console.log(item , index)
return item > 4})
console.log(arr1)
6、some() some的最终结果是一个布尔值。每一次遍历的时候返回一个条件,只要在遍历的过程中有一条数据满足条件(在所有的返回值当中只要有一个true)整个some的结果就是true。
在遍历过程中只要发现一个true就停止遍历。
例:var = arr[3,56,67,43,2]
var is = arr.some (function(item , index){
//item是值,index是索引
console.log(item , index)
return item > 4})
console.log(is)
7、every()必须每次遍历的返回条件都是true,结果才为true。只要任意一个不满足条件,遍历就结束,结果为false。
var is = arr.every(function(item , index){
//item是值,index是索引
console.log(item , index)
return item % 2 === 0})
console.log(is)
归并方法
8、reduce() 有两个参数,第一个参数是函数,第二个参数可选的默认值。在后面加一个(,0)默认值,循环次数就和数组长度相等。
例:var arr = [14,535,64,462,2]
//current 当前元素
// 计算arr所有元素的累加和
//第一次的res是arr[0],以后的res是上一次的返回值
arr.reduce(function(res , curr){
console.log(curr)
res += curr
return res
})
9、reduceRight从右往左归并,语法和reduce是完全一样
原文:https://www.cnblogs.com/52580587zl/p/12674449.html