学习js权威指南第五站 ---- 数组

1.数组方法

  ①join()

    将数组中的左右元素都转换成字符串并连接在一起,返回最后生成的字符串。

  ②reverse() 改变原数组

    将数组中的元素颠倒顺序,返回逆序的数组。在原先的数组中重新排列。

  ③sort() 改变原数组

    将数组中的元素排序并返回排序后的数组,当不带参数调用时,数组元素以字母表顺序排序。可以用以下代码将排序按照数值排序:

    var arr6_5 = [33,2,4,111];
    console.log(arr6_5.sort(function(a,b){return a-b}))  //输出: [2,4,33,111]

  ④concat() 不改变原数组

    创建并返回一个新数组,它的元素包括调用concat()的原始数组的元素和concat()的每一个参数。

  ⑤slice() 不改变原数组

    返回指定数组的一个片段或子数组。两个参数分别指定了片段的开始和结束的位置。(包含开始位置但不包含结束位置)。若只有一个参数则从该位置到末尾。负数代表从末尾处开始数。

  ⑥splice() 改变原数组

    在数组中插入或删除元素的通用方法。前两个参数指定了需要删除的数组,紧随其后的任意个数的参数指定了需要插入到数组中的元素。

  arr6_5_2 = [2, 4, 33, 111, 99, 66];
   arr6_5_2.splice(2,0,"a","b","c");  //从下标为2的开始删除0位并插入"a","b","c"
  console.log(arr6_5_2);  //=>[2, 4, "a", "b", "c", 33, 111, 99, 66]

  ⑦push()和pop() 改变原数组

    push()方法在数组的尾部添加一个或多个元素,并返回数组的新长度。pop()在数组的尾部删除元素。

  ⑧unshift()和shift() 改变原数组

    unshift()方法在数组的头部添加一个或多个元素,并返回数组的新长度。shift()在数组的头部删除元素。

  ⑨toString()和toLocalString()

2.ES5中的数组方法

  ①forEach()

    循环遍历数组,可以配合es6的箭头函数使用。没有break语句,若想要提前终止,必须把forEach()方法放在一个try块中,并能抛出一个异常。

  ②map() 

    将调用的数组的每一个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值。

  arr6_5_2 = [2, 4, 33, 111, 99, 66];
  var arr6_5_3 = arr6_5_2.map(function(x) {return 2*x});  //将数组内每个值*2
  console.log(arr6_5_3);  //=>[4, 8, 66, 222, 198, 132]

  ③filter()

    返回调用的数组的一个子集。参数为函数,相当于一个过滤条件。

  ④every()和some()

    是数组的逻辑判定:它们对数组元素应用指定的函数进行判定,返回true或false。

  ⑤reduce()和reduceRight()

    使用指定的函数将数组元素进行组合,生成一个单个值。

  ⑥indexOf()和lastIndexOf()

    搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没有找到就返回-1。

3.isArray

  在es5中可以使用array.isArray()函数来判定它是否为数组。使用了Object.prototype.toString.call()方法。

4.类数组对象

  是对象,有length属性并且是非负整数不超过2^32。可以间接的使用call方法调用数组方法。

  Array.prototype.join.call(arr,'+');......

 

posted @ 2018-06-05 12:01  云深燕儿多  阅读(134)  评论(0编辑  收藏  举报