



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaScript数组定义数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(8); var c = new Array(first, second, third); 或者数组直接量: var d = first, second, third; 属性 Array只有一个属性,就是length,length表示的是数组所占内存空间的数目,而不仅仅是数组中元素的个数,在刚才定义的数组中,b.length的值为8 var a = new Array(first, second, third) a48 = 12 document.write(a.length) /显示的结果是49 数组的length属性是可写的,这是一个非常有意思的属性,我们可以通过这种方法来截取数组 var a = new Array(first, second, third) delete a1 document.write(a.length) /显示的结果是3,说明即使删除也无法改变数组的长度 var a = new Array(first, second, third) a.length = 1 document.write(a.length) /显示的结果是1,说明只剩下一个元素了 方法 这里并没有包括IE和FF并不兼容的一些方法: toString():把数组转换成一个字符串 toLocaleString():把数组转换成一个字符串 join():把数组转换成一个用符号连接的字符串 shift():将数组头部的一个元素移出 unshift():在数组的头部插入一个元素 pop():从数组尾部删除一个元素 push():把一个元素添加到数组的尾部 concat():给数组添加元素 slice():返回数组的部分 reverse():将数组反向排序 sort():对数组进行排序操作 splice():插入、删除或者替换一个数组元素 toString() 方法,toLocaleString()方法的作用类似,FF下的作用是完全相同的,IE的话如果元素是字符串,会在“,”后面加上一个空格,如果元素是数字,会扩展到两位小数,两者都会改变字符串的length属性,所以考虑到兼容性,尽量不要使用toLocaleString()方法。 var a = new Array(1, 2, 3, 4, 5, 6, 7) var b = a.toString() /b为字符串形式的 1, 2, 3, 4, 5, 6, 7 var c = new Array(1, 2, 3, 4, 5, 6, 7) var d = c.toLocaleString() /d为字符串形式的 1, 2, 3, 4, 5, 6, 7 /toString()方法和toLocaleString()方法都可以拆解多维数组 join()方法将数组中的所有元素转换成字符串,然后连接起来,这刚好和String的split()方法是一个相反的操作。join()默认是使用“,”作为分隔符,当然你也可以在方法中指定分隔符 var a = new Array(first, second, third) var s = a.join(.) document.write(s) /显示的结果是“first.second.third” pop()方法可以从数组尾部删除若干个元素,push()方法把一个元素添加到数组的尾部,这两个方法刚好是两个相反的操作。两个都是对原来的数组进行操作,但是要注意push()方法返回的是新的数组的长度,而pop()方法则返回被删去的那个元素。 var a = new Array(1, 2, 3) var b = a.push(4,5,6,7) /a为1, 2, 3, 4, 5, 6, 7 b为6 注意push()方法不会帮你打开一个数组 var c = new Array(1, 2, 3, 4, first) var d = c.pop() /c为1, 2, 3, 4 d为字符串形式的first shift() 方法可以从数组头部删除一个元素,unshift()方法把若干元素添加到数组的头部,这两个方法刚好是两个相反的操作。两个都是对原来的数组进行操作,但是要注意unshift()方法返回的是新的数组的长度,而shift()方法则返回被删去的那个元素。 var a = new Array(1, 2, 3) var b = a.unshift(4,5,6,7) /a为4, 5, 6, 7, 1, 2, 3 b为6 注意unshift()方法不会帮你打开一个数组,还有就是被插入数值的顺序 var c = new Array(first, 1, 2, 3, 4) var d = c.shift() /c为1, 2, 3, 4 d为字符串形式的first concat()方法可以返回一个在原有数组上增添了元素的数组,元素用“,”分隔,元素中如果有数组,将被展开并继续添加,但不支持多维数组形式的展开添加 var a = new Array(first, second, third) s = a.concat(fourth,fifth, sixth,seventh, eighth, ninth) document.write(s7) / 显示的结果是“eighth, ninth”,说明“eighth, ninth”是以数组的形式被添加了进去,此是s的值为first, second, third, fourth, fifth, sixth, seventh, eighth, ninth slice()方法返回数组的一个片断,或者说是子数组。slice()的参数表示字数组的始末位置,如果只有一个参数,就表示从该处开始一直取到最后,如果参数出现负数,则表示倒数的某个位置。 var a = new Array(1, 2, 3, 4, 5) var b = a.slice(3) /b为4, 5 var c = a.slice(-3) /c为3, 4, 5 var d = a.slice(1,-1) /d为2, 3, 4 var e = a.slice(-3,-1) /e为3, 4 reverse()方法将数组反向排序,他并不创建和返回一个新的数组,而是在原有的数组上进行操作 var a = new Array(first, second, third) a.reverse() document.write(a) /显示的结果是“third,second,first”,这时候数组的顺序已经颠倒了 sort()方法的作用是对数组进行排序,这是一个非常奇特的方法,我不知道当初创作他的人是出于懒惰还是聪明,这是一个让我印象深刻的方法。 sort()方法的参数是一个有两个参数,并且有返回值的函数,如果返回的值大于零,则说明前一个参数比后一个参数大,等于零则相等,小于零说明前一个参数比后一个小,而相对小的那个参数将出现在排序的前列。 sort()方法直接在数组上进行操作,同时也返回值,但是两者似乎是等价的。sort()方法默认是用字母的顺序进行排序 var a = new Array(33, 4, 111, 543) a.sort(way) function way(x, y) if (x % 2 =0) return 1; if (x % 2 !=0) return -1; /排序的结果是使奇数在前偶数在后 splice()方法的作用是插入、删除或者替换一个数组元素,他不光会在原有的数组上进行修改,还会返回被处理掉的内容,因此这是一个功能强大,但是不容易使用的方法,splice()方法用前两个参数进行定位,余下的参数表示插入部分。 var a = new Array(1, 2, 3, 4, 5) var b = a.splice(2) /a为1, 2 b为3, 4, 5 var c = new Array(1, 2, 3, 4, 5) var d = c.splice(2,2) /c为1, 2, 5 d为3, 4 var e = new Array(1, 2, 3, 4, 5) var f = f.splice(-4,2) /e为1, 4, 5 f为2, 3 var g = new Array(1, 2, 3, 4, 5) var h = g.splice(-2,-2) /第二个参数表示长度,因此负数在此无效 var i = new Array(1, 2, 3, 4, 5) var j = i.splice(2,2,first,second,third) /i为1, 2,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论