js Array操作的最简短最容易理解方法

  Array 的方法

  1 Array.join(): 把所有元素用符号连结成string返回, 如果元素不是基本类型, 先调用toString.

  它对应string.split();

  arr = [1,2,true,3,4,5];

  (arr.join('-') == '1-2-true-3-4-5';

  2 Array.reverse(): 逆序排列数组

  arr = [1,2,true,3,4,5];

  arr.reverse();// arr == [5,4,3,true,2,1];

  3 Array.sort(): 排序,可以传递一个排序函数作参数

  arr.sort(function(a,b){

  return a-b;

  });

  4 Array.concat(): 拼接函数,

  在末尾拼接上新元素,返回拼接后的array,但是不改变原array;参数可以是一个元素,多个元素,一个数组,

  如果是一个元素,或多个元素,直接把这些元素加到末尾,如果是一个数组,则把数组各个元素拿出来拼接到尾部。

  a = [1,2,3];

  a.concat(4,5)// return [1,2,3,4,5]

  a.concat([4,5])// return [1,2,3,4,5]

  a.concat([4,5],[6,7]);//return [1,2,3,4,5,6,7]

  a.concat([4,[5,6]])//return [1,2,3,4,[5,6]]//注意

  5 Array.slice(startPos, endPos): 取子字符串函数(原array保持不变)

  从startPos开始到endPos结束但不包括endPos上的元素

  如果没有endPos,则取到尾

  如果pos为负, 则倒着数

  a = [1,2,3,4,5];

  a.slice(0,3)// return [1,2,3]

  a.slice(3)//return [4,5]

  a.slice(1,-1)//return [2,3,4]//从第一个开始取,取到倒数第1个,但不包括倒数第1个

  a.slice(1,-2);//return [2,3]//从第一个开始取,取到倒数第2个,但不包括倒数第2个

  6 Array.splice(startPos, length, [added1, added2...]) 随机存取函数

  可以随机删除一个(些)元素,也可以加上一些元素,

  如果只有两个参数,则从array中删除从startPos开始总共length个元素

  如果有两个以上参数,则从array中删除从startPos开始总共length个元素,再从刚才删除的位置添加上后面的元素

  如果被添加的元素是一个数组则把这个数组作为一个元素(与concat差别)

  a = [1,2,3,4,5];

  a.splice(1,2)//return [2,3]; a==[1,4,5]

  a.splice(1,2,6,7,8)//return [2,3]; a==[1,6,7,8,4,5]

  a.splice(1,2,[6,7,8]);//return [2,3]; a==[1,[6,7,8],4,5]

  7 Array.push() 和 Array.pop();

  都是操作最后一个元素,push是添加,pop是删除最后一个元素并返回该元素

  8 Array.unshift() 和 Array.shift()

  都是操作第一个元素,unshift是添加,shift是删除第一个元素并返回该元素

  合计起来

  这些方法会改变原array:reverse, sort, splice, push, pop, unshift, shift

  这些方法不会改变原array:join, concat, splice