首页 > 代码库 > Array类型

Array类型

一、创建数组的基本方式有两种

1、使用Array构造函数

  var colors = new Array();

  创建长度为n的Array数组

  var colors = new Array(n);

  直接在狗仔函数中传递数值中应该包含的项。

  var colors = new Array("red","green","blue");

  也可以省略new操作符

  var  colors = Array(n);

  var colors = Array("red");

2、使用数组字面量表示

  var colors = ["red","green","blue"];

  var valuse = [];

在读取和设置数组的值时,是基于0开始索引的

技术分享

如果添加最后一位的前N位不存在,则数组长度按最后一位来算,不存在的将显示undefined;

技术分享

二、转换方法

toString()  valueOf()  join()

调用toString()返回的是以逗号分开的字符串

调用valueOf()返回的还是数组

技术分享

调用join()会使用传递进去的参数分割字符串

 技术分享

 

三、栈方法  后进先出  最后添加的项最早移出

push() pop()

push()可以接受任意数量的参数,把他们按顺序添加到数组的末尾,返回修改后的数组长度。

pop()从数组移除最后一项。返回移除的值

技术分享

四、队列方法 先进先出 在队列的末尾添加,在队列前端移出

shift() unshift()

shift() 移除数组第一项并且返回该值。

unshift()在数组前添加任意项,并返回数组长度。//IE7以及以下会返回undefined。

 技术分享

五、重排序

reverse()  sort()

reverse() 对原数组进行倒序排列

sort()对原数组进行从小到大的排列,但是进行字符串比较的时候10会小于5 所以要写一个排序的函数

function res(val1,val2){

  if(val1>val2){

    return 1;

  }else if(val1<val2){

    return -1;

  }else{

    return 0;

  }

}

然后将函数传给sort即可!

array.sort(res);

技术分享

六、操作方法

concat()  slice()  splice()

concat()该方法会基于当前的数组创建一个数组副本,然后将接受的参数添加到副本末尾,最后返回新构建的数组。

技术分享

slice()该方法会基于当前的数组中的一项或者多项创建一个新的数组。接受两个参数,第一个参数为起始位置,第二个参数为结束位置。(不包括结束位置)

第二个参数可以为空,那么接收的就是从第一个参数位置到数组的末尾。

技术分享

splice()有三种用法

1、删除 指定2个参数,要删除的第一项的位置和删除的项数 返回被删除的项

技术分享

 

2、插入 指定位置插入任意数量的项。起始位置、要删除的项(0)、要插入的项 返回一个空数组

技术分享

 

3、替换 可以向指定的位置插入任意的项,同事删除任意的项 返回被删除的项

 技术分享

七、位置方法

indexOf() lastIndexOf()

这两个操作都接收两个参数  要查找的项和从第几项开始查找的下标位置(可选)

技术分享

 八、迭代方法

 every()  filter() forEach() map() some()

迭代方法传入三个参数   数组项的值,数组下标,数组

every() 给数组中的每一项给定函数,如果该函数对每一项都是true 则返回true 否则返回false

技术分享

some() 给数组中的每一项给定函数,如果该函数对任意一项是true 则返回true 否则返回false

 技术分享

filter() 给数组中的每一项给定函数,返回结果为true的数组

技术分享

map()给数组中的每一项给定函数,每一个数组项 对于函数运转的结果,然后返回一个新的数组

技术分享

forEach 函数,遍历~操作,无返回值

技术分享

 

Array类型