码迷,mamicode.com
首页 > 编程语言 > 详细

javaScript的高级函数

时间:2019-10-30 18:47:29      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:排序   val   div   数组   eof   span   color   组元   开始   

1.map()

   map()方法返回一个新数组,新数组是原始数组调用函数之后处理后的值。

   map()方法按照原始数组元素顺序依次处理元素。

   map不会对空数组进行检测。 

   map不会改变原始数组 。

   参数:

   array.map(function(currentValue,index,arr){}),分别为当前元素值(必选),索引,原数组

   实例:

1 const arr=[1,2,3,4,5];
2 let arrs=arr.map((cur)=>{
3    return cur+1;//每个元素加1
4 })
5 console.log(arrs)//[2,3,4,5,6]

 

2.reduce() 

   reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

   reduce() 对于空数组是不会执行回调函数的。

   参数:

array.reduce(function(total, currentValue, currentIndex, arr), initialValue),分别为函数的初始值,当前元素值,索引,原数组,传递给函数的初始值。

实例:
 1 const arr=[1,2,3,4,5,4,3,2,1];
 2 let reduceArr=arr.reduce((total,cur)=>{
 3     return total+cur;//累加
 4 })
 5 let reduceArr2=arr.reduce((total,cur)=>{
 6     if(!total.includes(cur)){
 7         return total.concat(cur);//如果total里没有cur,就把cur合并到total里边。
 8     }else{
 9         return total;
10     }
11 },[])//[]为total的初始值
12 console.log(reduceArr);//25
13
console.log(reduceArr2);//[1,2,3,4,5]


3.filter()

   filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

   filter() 不会对空数组进行检测。

   filter() 不会改变原始数组。

参数:
array.filter(function(currentValue,index,arr), thisValue),分别是当前元素,索引,原数组,对象作为该执行回调时使用,传递给函数,用作 "this" 的值。

实例:
1 const arr=[1,2,3,4,5,‘a‘,‘b‘,‘c‘];
2 let filterArr=arr.filter((value)=>{
3    return typeof(value)===‘number‘;
4 })
5 console.log(filterArr);//[1,2,3,4,5]

4.sort()  

   sort() 方法用于对数组的元素进行排序。排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。

   

1 const arr=[1,6,5,‘2‘,‘3‘,‘4‘];
2 let sortArr=arr.map((item)=>{
3    return item-0;//将arr里的str转换为Number
4 }).sort((a,b)=>{
5    return a-b;
6 })
7 console.log(sortArr);//[1,2,3,4,5,6]

 



 
 

javaScript的高级函数

标签:排序   val   div   数组   eof   span   color   组元   开始   

原文地址:https://www.cnblogs.com/coldWinds/p/11766195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!