js中关于数组的一些函数

map 方法

  • 作用:迭代数组中的每一个元素,处理每一个元素,并且返回一个新的数组(不会改变原始数组)
  • 例子:使得数组中的每一项都乘以4
    1
    2
    3
    var timesFour = oldArray.map(function(val){
    return val * 4;
    });

reduce方法

  • 作用:迭代数组,并且把它累计到一个值中
  • 例子:让数组中的所有值相加
    1
    2
    3
    4
    5
    var array = [4,5,6,7,8];
    var singleVal = 0;
    singleVal = array.reduce(function(previousVal,currentVal){
    return previousVal + currentVal;
    }); //结果:30

filter方法

  • 作用:迭代一个数组,并且按给出的条件过滤出符合的元素,回调函数返回 true 的项会保留在数组中,返回 false 的项会被过滤出数组。(filter 不会改变原数组。)
  • 例子:移除数组中值等于5的项
    1
    2
    3
    array = array.filter(function(val) {
    return val !== 5;
    });

sort方法

  • 作用:按字母顺序或数字顺序对数组中的元素进行排序,改变原数组,返回被排序后的数组。
    sort 可以把比较函数作为参数传入。比较函数有返回值,当 a 小于 b,返回一个负数;当 a 大于 b ,返回一个正数;相等时返回0。如果没有传入比较函数,它将把值全部转成字符串,并按照字母顺序进行排序。
  • 例子:从小到大排序
    1
    2
    3
    4
    var array = [1, 12, 21, 2];
    array.sort(function(a, b) {
    return a - b;
    });

reverse方法

  • 作用:翻转数组
    1
    2
    var myArray = [1, 2, 3];
    myArray.reverse(); //结果:[3,2,1]

concat方法

  • 作用:把两个数组的内容合并到一个数组中。参数是一个数组。
    1
    newArray = oldArray.concat(otherArray);

split方法:字符串转数组

  • 作用:按指定分隔符将字符串分割为数组。参数:分隔符
  • 例子:var array = string.split('s');
  • 把字符串分割成array:array = string.split(" ");

join方法:数组转字符串

  • 作用:把数组中的每一个元素用指定的连接符连接起来
  • 例子:var salad = veggies.join(" and ");
  • 数组转字符串:joinedString = joinMe.join(" ");