Array类型方法

来源:互联网 发布:stm32 uart通信编程 编辑:程序博客网 时间:2024/06/02 02:26

栈方法:
栈是一种LIFO的数据结构,栈中项的插入和移除只发生在栈的顶部。
push():接受任意数量的参数,逐个添加到数组末尾,并返回修改后的数组长度。
pop():从数组末尾移除最后一项,并修改数组长度,返回该项。

var color = new Array();var count = color.push(“red”,”green”);Alert(count);   //2var item = color.pop();Alert(item);    //greenAlert(colors.length);   //1

队列方法:
队列是一种FIFO的数据结构,在列表末端添加项,列表前端移除项。
Shift():在列表前端移除项,修改数组长度,返回该项。
unshift():在列表前端添加项,可与pop()方法结合。

var color = new Array();var count = color.push(“red”,”green”);Alert(count);   //2var item = color.shift();Alert(item);    //”red”Alert(colors.length);   //1

重排序方法:
reverse()降序数组项:

var values = [1,2,3,4,5];values.reverse();Alert(values);      //[5,4,3,2,1]

sort()升序数组项:sort()方法在排序之前,会先调用每个数组项的toString()转型方法,然后再比较结果。

操作方法:
concat()可以基于当前数组中的所有项创建一个副本,然后将接受到的参数添加到副本的末尾返回新数组,原始数组保持不变。

var colors = [“red”,”blue”,”yellow”];var colors1 = colors.concat([“green”,”black”,”brown”]);Alert(colors);  //red,blue,yellowAlert(colors1);     //red,blue,yellow,green,black,brown

slice()方法基于当前数组中的一或多个项创建一个新数组,可以接受一或两个参数,即要返回项的起始位置和结束位置;在只有一个参数的情况下,slisce()方法返回从该参数指定位置开始到数组末尾的所有项,如果有两个参数,则返回此位置间的所有项–但不包括结束位置的项。

var colors = [“red”,”blue”,”yellow”];var colors1 = colors.slice(1);  //blue,yellowvar colors2 = colors.slice(1,2);    //blue

splice()方法的主要用途是向数组中部插入项,使用这种方法的方式有三种:
删除:splice(删除的第一项的位置,要删除的项数);
插入:splice(起始位置,0要删除的项数,要插入的项数);
替换:splice(起始位置,要删除的项数,要插入的任意数量的项数),插入项不必与删除
项等,splice()方法始终会返回一个包含删除项的数组(如果没有删除项,则返回空数组)。

位置方法:
index()方法和lastIndex()方法都接受两个参数:要查找的项和表示查找起点位置的索引。 index()方法从前到后开始查找,lastIndex()方法则相反。

归并方法:reduce(方法和)reduceRight()方法,都接受两个参数:一个在每一项上调用的函数和(可选)作为归并基础的初始值;调用的函数接受四个参数:前一个值,当前值,项的索引,数组对象。这个函数返回的值都会做为第一个参数自动传给下一项。

var values = [1,2,3,4,5];var sum = values.reduce(function(prev,cur,index,array){            return prev + cur;    }) alert(sum);
原创粉丝点击