JS数组是指将多个数据对象编码存储,提供一致的存取方式的集合。数组能阻止存储各类各样的数据,每一个数据对象都是数组的一个元素,经过数组对象的有关方法添加到数组中,并为之分配一个惟一的索引号。数组
Array对象提供经常使用的方法包括:toString, join, push, pop, unshift, shift, concat, slice, reverse, sort和toLocaleString等。app
toString方法将数组表示为字符串,各个元素按顺序排列组合成为字符串返回。语法以下:
对象名.toString( radix )
其中radix为可选参数,表示进制,当对象时数字时,该参数起做用。示例:测试
var names = ["Jim","Lucy","Peter","Victor"]; document.write(names.toString);
要想指定数组各元素之间的链接符,可用join方法。该方法与toString同样,也是将各元素组合成字符串,但链接符可本身指定,语法以下:
数组名.join("链接符")
若不想要任何链接符,则括号中用空字符便可。编码
push方法一次可添加单个或多个元素到数组末端,也能够添加数组。语法以下:
数组名.push("元素1","元素2",...)
示例:code
var list = []; while(true){ var name = prompt("请输入名字:"); list.push(name); if(name == "") break; } document.write(list.join(" "));
unshift方法与push方法正好相反,是将元素插入数组的首部。一次能够插入单个或多个元素,全部元素按顺序插入,操做完成后返回新数组的引用。语法以下:
数组名.unshift("元素1","元素2",...)
示例:对象
var queue = ["a","b","c","d"]; queue.unshift("d","e"); document.write("<br>"+queue)
注:若是不计较元素插入的位置,则推荐使用push,由于unshift方法会引起数组下标的改动,可能会影响依靠下标才能准确进行的计算。索引
pop方法的做用是移除数组末尾的一个元素。删除数组中的元素还可用delete 数组名[下标]
,不过与delete不一样的是,pop方法删除最后一个元素后,还将其引用返回。pop一般与push方法结合使用,实现堆栈功能。语法以下:
数组名.pop()
示例:队列
var apple = ["苹果1","苹果2","苹果3","苹果4","苹果5"]; while(apple.length != 0){ var handle = apple.pop(); document.write("<br>分出:"+handle) }
shift方法与pop相反,移除数组的第一个元素并将其返回。该方法执行后,数组剩下的元素向前移动,下标索引号从新调整从0开始。shift与push方法结合使用,能够将数组当成队列使用。语法以下:
数组名.shift()
示例:字符串
var client = ["顾客A","顾客B","顾客C","顾客D","顾客E"]; var tickets = 4; while ( client.length!=0 && tickets>0 ){ var current = client.shift(); tickets--; document.write("<br>"+current+"买到票"); }
concat方法能够将多个数组元素链接在一块儿成为新的数组,语法以下:
数组名.concat(item1,item2,...)
it
var qa = ["顾客1","顾客2","顾客3","顾客4"]; var qb = ["顾客A","顾客B","顾客C","顾客D"]; document.write("窗口前两支队伍:" + "<br>" + qa + "<br>" + qb + "<br>"); var qc = qa.concat(qb); document.write("两支队伍合并成一支新队伍:" + qc);
splice方法的做用是,从一个数组中移除一个或多个元素。剩下的元素组成一个数组,移除的元素组成另外一个数组并返回它的引用。同时,原数组能够在移除的开始位置处顺带插入一个或多个新元素,达到修改替换数组元素的目的。这个操做效果一般称为接合,语法以下:
数组名.splice(start,deleteCount,item1,item2,...)
参数说明:
var queueA = ["学生A","学生B","学生C","学生D"]; document.write("原来的队伍:" + queueA); var queueB = queueA.splice(2,3); document.write("新建的队伍:" + queueB); document.write("调整后的队伍:" + queueA); queueA.splice(1,0,"学生1","学生2"); document.write("添加后的队伍:" + queueA);
slice方法的做用是抽取数组的一段元素,抽取指定下标索引区间中的元素做为新数组返回。语法以下:
数组名.slice(start,end)
注:splice是直接修改原数组,而slice不会修改原数组。
示例:
var queueA = ["学生1","学生2","学生3","学生4","学生5"]; var queueB = queueA.slice(2,3); document.write(queueA + "<br>");//经测试,queueA并无改变 document.write(queueB);