数组方法

  1. map方法
  • 作用
    可以方便的迭代数组,map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。
    这个方法不会改变原始数组。
  • 参数
    map()只有一个参数,参数是一个回调函数,回调函数中可以有多个参数,
    分别是val值,index索引,arr数组;(顺序很重要);
    好比调用parseInt方法
var arr=['1','4','9','16'];
r = arr.map(parseInt); //[1, NaN, NaN, 1] 参数传递错误;
n = arr.map(function (x) {return parseInt(x) } //[1, 4, 9, 16];

parseInt本身可以传递两个参数(值,进制),然后map的回调函数第二个参数是索引
导致
parseInt('1',1) = 0;
map方法的参数传递很重要

  • 和forEach的区别
    map 调用回调并返回一个新数组
    for Each 仅仅只是调用回调函数
  1. reduce方法
    配合回调函数,回调函数有两个参数
    (pre,cur)第一个参数是上一次回调函数返回的值
    cur是数组的调用的值
    第一个参数在第一次计算默认是数组第一个;
    也可以通过设置reduce参数的第二个参数设置;
var total = arr.reduce(function(pre,cur){
return pre + cur ;
},0)  //完成数组值得累加;
  1. filter()方法
    回调函数可传参数有val(值)、index(索引)、arr(数组)
    通过判断回调函数返回值是true就保存,false就过滤
var arr2 = arr.filter(function(val){
return val > 5 ;
})

只保留大于5的值;不改变原有数组

  1. sort()
    回调函数有两个参数,pre,cur上一个的值和当前值
    回到函数返回大于0则pre排在cur后
var arr2 = arr.sort(function(a,b){
return a-b;
})

返回一个从小到大的数组排列

  1. reverse()
    翻转数组
var arr = [1,2,3];
var arr2 = arr.reverse(); //[3,2,1]
  1. contat()
    组合数组
var arr = [1,2,3];
var arr2 = arr.concat([4,5,6]); //[1,2,3,4,5,6]
  1. spilt() 和 join()
  • spilt()
    字符串方法,但是可以将字符串转化成数组
    依据参数来分割字符串成数组
    参数可以是正则
    arr = string.split(' ');
  • join()
    数组方法,但是可以将数组转化成字符串
    依据参数来连接数组
    string = arr.join(' ');
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容