一、基础
我下面的所有例子,都是用的是这个数组,所以先放在了前面
1.arr.indexOf(v);
- a.返回的是第一次出现的下标
- b.两个参数。后面参数代表从那个下标开始查找
- c.如果不存在,返回-1.
2.arr.lastIndexOf(v);
- a.从后往前找,返回的是倒着数的第一次出现的下标
- b.接受两个参数,第二个参数,代表的是从哪个下标开始
eg:
3.arr.forEach(function(value,index,arr){
//arr 数组项
//index 下标
//arr 数组本身
})
注: forEach()没有返回值,必须要借助变量接收返回值
4.arr.map(function(value,index,arr) {
return value +1; //把数组项的每一项+1,然后映射到一个新数组,不影响原数组
})
//有返回值。
eg:数组中的每一个值都加1
5.arr.reduce(function(acc,cur,index,arr){
//acc 累计器
//value 数组的每一个值
//index 下标
// arr 数组本身
return acc + value; //累加
return acc * value; //累乘
return acc / value; //累除
return acc - value; //累减
})
注:每种求和求积,都要有一个初始值,好比,我们在求和的时候,sum的初始值为0,求积的时候,produce的初始值为1。总之,对于不同的计算有不同的初始值,而我们的reduce方法中,正好提供了一个累计器,在方法的底层,已经将每种计算的初始值设置好,我们只需要直接计算即可。
6.arr.filter(function(value,index,arr) {
return 过滤条件;
})
eg: 过滤小于5的数字
注:在map之后的m几个api中(包括map),每个api都有返回值