创建数组的基本方式有两种
1)使用Array构造函数<br><br>语法:var 变量名 = new Array()<br><br>小括号()里有两种情况:<br><br>①一个数字的话就是数组要保存的项目数量<br><br>②多个用逗号隔开的数据,就是向Array构造函数中传递数组应包含的项
2)使用数组字面量表示法<br><br>由一对包含数组的方括号[]表示,多个数组项之间以逗号隔开。<br><br>举个栗子:<br><br>var 变量名=["red","yellow","blue"];<br><br>connsole.log(变量名);<br><br>//数组里的数组项可以是不同的数据类型<br><br>var infos=[6,"marry",true,{email:"marry@shuzu.com"}];<br><br>console.log(infos);<br>
数组长度<br><br>语法:array.length<br><br>功能:获取数组array的长度<br><br>返回值:number
说明:<br><br>1)通过设置length可以从数组的末尾移除项或向数组中添加新项。<br><br>2)把一个值放在超出当前数组大小的位置上时,会重新计算数组长度值,长度值等于最后一项索引加1.
数组方法
栈方法就是: 指在栈的栈顶对栈里面的元素进行添加(进站)或删除(出栈)的操作方法。
一、push()<br><br>语法:arrayObject.push(newele1,newelew,...neweX)<br><br>功能:把它的参数顺序添加到arrayObject的【尾部】<br><br>返回值:把指定的值添加到数组后,数组的新长度
二、pop()<br><br>语法:<br><br>arrayObject.pop()<br><br>功能:<br><br>删除arrayObject的最后一个元素<br><br>返回值:被删除的那个元素
三、shift()<br><br>语法:<br><br>arrayObject.shift()<br><br>功能:‘<br><br>删除arrayObject中的第一个元素<br><br>返回值:被删除的那个元素
四、unshift()<br><br>语法:<br><br>arrayObject.unshift(newele1,newele2,.....neweX)<br><br>功能:<br><br>把它的参数顺序添加到arrayObject的 【开头】<br><br>返回值:把指定的值添加到数组后的 新长度。
join()<br><br>语法:<br><br>arrayObject.join(separator);<br><br>功能:<br><br>用于把数组中的所有元素放入一个字符串。<br><br>返回值:<br><br>字符串。<br><br>join()括号里写的是分隔符。默认为逗号“,” join(“”)打印的是一个整的字符串,就是分隔符为空的意思<br>
reverse()<br><br>语法:<br><br>arrayObject.reverse()<br><br>功能:<br><br>用于颠倒数组中元素的顺序,不会创建新的数组,只是改变原来数组<br><br>返回值:<br><br>数组。
sort()<br><br>语法:<br><br>arrayObject.sort(sortby);<br><br>功能:<br><br>用于对数组的元素进行排序。<br><br>返回值:<br><br>数组。
说明:<br><br>1)即使数组中的每一项都是数值,sort()方法比较的也是字符串。<br><br>2)sort()方法可以接收一个比较函数作为参数。<br><br>var arr=[9,23,15,-99,88,12,-2];<br><br><br>//arr.sort(function(x,y){return y-x});倒叙从大到小<br><br>arr.sort(function(x,y){return x-y});正序从小到大 <br>
concat()<br><br>语法arrayObject.concat(arrayX ,arrayX.......,arrayX)<br><br>功能:用于连接两个或多个数组<br><br>返回值:数组
slice()<br><br>语法:arrayObject.slice(start,end)<br><br>功能:从已有的数组中返回选定的元素,总之含头不含尾<br><br>参数:<br><br>start(必需)规定从何处开始选取,如是负数,从数组尾部开始算起<br><br>end(可选)规定从何处结束选取,是数组片段结束处的数组下标<br><br>返回值:数组
说明:<br><br>1.如没指定end,切分的数组包含从start到数组结束的所有元素<br><br>2.如slice()方法的参数中有一个负数,则用数组长度加上该负数得到结果A,用A替换该负数(其实也可以理解为倒数第几个)<br><br>3、截取从start到end(不包含该元素)的元素,即从start到end-1的元素】<br><br>
splice()
1、删除数组项<br><br>语法:arrayObject.splice(index,count)<br><br>说明:count是要删除的项目数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值<br><br>功能:删除从index处开始的零个或多个元素<br><br>返回值:含有被删除的元素的数组
2、插入数组项<br><br>语法:arrayObject.splice(index,0,item1,....,itemX)<br><br>功能:在指定位置插入值<br><br>参数:index:起始位置 0:要删除的项数 item1,....,itemX:要插入的项<br><br>返回值:数组
3、替换数组项(记这个就行)<br><br>语法:arrayObject.splice(index,count,item1,.....itemX)<br><br>功能:在指定位置插入值,且同时删除任意数量的项<br><br>参数:index:起始位置 count:要删除的项数 item1,.....itemX:要插入的项<br><br>返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)
查找元素
1、indexOf()<br><br>语法:arrayObject.indexOf(searchvalue,startIndex)<br><br>功能:从数组的开头(位置0)开始向后查找<br><br>参数:searchvalue:必需,要查找的项<br><br>startIndex:可选,从哪开始查找<br><br>返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1<br>
2、lastIndexOf()<br><br>语法:arrayObject.lastIndexOf(searchvalue,startIndex)<br><br>功能:从数组的末尾开始向前查找<br><br>参数:searchvalue:必需,要查找的项<br><br>startIndex:可选,起点位置的索引<br><br>返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1<br><br>说明:1)在比较第一个参数与数组中的每一项时,会使用全等操作符,即要求查找的项必须严格相等<br><br>2)数组的位置方法是ECMAScript5为数组实例新增的,所以支持的浏览器有:IE9+、Firefox、Safari、Opera和Chrome