今天在设计表单的时候遇到对数组的一些处理的问题,比如说怎么创建一个数组,然后牵扯到数组的增删改查的方法。请看API
FF: Firefox, N: Netscape, IE: Internet Explorer
方法 | 描述 | FF | N | IE |
---|---|---|---|---|
concat() | 连接两个或更多的数组,并返回结果。 | 1 | 4 | 4 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | 1 | 3 | 4 |
pop() | 删除并返回数组的最后一个元素 | 1 | 4 | 5.5 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 | 1 | 4 | 5.5 |
reverse() | 颠倒数组中元素的顺序。 | 1 | 3 | 4 |
shift() | 删除并返回数组的第一个元素 | 1 | 4 | 5.5 |
slice() | 从某个已有的数组返回选定的元素 | 1 | 4 | 4 |
sort() | 对数组的元素进行排序 | 1 | 3 | 4 |
splice() | 删除元素,并向数组添加新元素。 | 1 | 4 | 5.5 |
toSource() | 代表对象的源代码 | 1 | 4 | - |
toString() | 把数组转换为字符串,并返回结果。 | 1 | 3 | 4 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 | 1 | 3 | 4 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 | 1 | 4 | 6 |
valueOf() | 返回数组对象的原始值 | 1 | 2 | 4 |
注:JAVAScript数组与VBScript的数组不单在语法上不同,在使用时也有众多不同之处,请注意区分。
一、建立数组对象
我们再介绍JAVAScript的数组对象的建立方法。(其实这种方法和前面的方法在本质上是一样的,只是在语句的写法上有所区别,上面的方法在程序很短的时使用比较简洁,在一般情况下我还是建议您用以下方法建立数组对象。)建立数组对象的语法有两种:
1、在声明数组时仅仅声明数组内有几个组件。
var 数组对象名称 = new Array(组件个数);
fruit = new Array(3); //声明名为fruit的数组,共有三个组件,这就相当于一次声明了三个变量
然后必须另行准备几行程序代码,代序将变量值填入。
fruit[0] = "西瓜";
fruit[1] = "苹果";
fruit[2] = "香蕉";
2、声明时直接给定所有数组组件,彼此之间用逗号隔开,用小括号括起来,组件个数就是数组长度。
var 数组对象名称 = new Array(组件一......,组件N);
var fruit = new Array("西瓜","苹果","香蕉");
注:在一般语言中数组内的组件必须是相同类型的值,但是在JAVAScript当中可以将不同类型的数据放入数组中。
二、数组对象的属性
JAVAScript为数组对象提供以下几种属性:
使用格式:
数组对象名称.属性
序 属性名称 使用说明
1 constructor 指定建立地象原型(prototype)函数
2 index 代表数组组件的索引值
3 input 代表规则表达式中的字符串。
4 length 取得数组长度(数组组件个数)。
5 prototype 用以建立自定义的对象属性
三、数组对象的方法
JAVAScript为数组对象提供以下多种方法:
使用格式:
数组对象名称.方法(参数)
序 方法名称 使用说明
1 concat(数组1,数组2,...,数组N) 将多个数组结合成一个新的数组
2 join(分隔字符) 将数组结合成一个字符串,用特定字符来分开
3 pop() 将数组内最后一个组件删除,并返回该组件内容
4 push(组件1,组件2,...,组件N) 将一个或多个组件补在数组最后面,并返回最后一个组件内容
5 reverse() 将数组内所有组件的索引次序反转(Transpose)
第一个组件变成最后一个,最后一个组件则拿到最前面
6 shift() 将数组内第一个组件删除,并返回该组件内容
7 slice(开始索引,结束索引) 将数组内容转入一个新的数杉
8 sort() 将数组内容排序
9 splice() 增加或删除数组组件
10 toSource() 返回代表特定数组的数组常数,可以用来建立新的数组
11 toString() 以字符串来表示该数组及其组件
12 unshift(组件1,组件2,...,组件N) 将一个或多个组件补在数组最前面,并返回最后数组长度
13 valueOf() 取得数组值
注:其中有些方法,例如:push、shift、unshift……在有些版本的IE浏览器还不支持,使用时应特别注意。
举例:
<Script language = "JAVAScript">
<!--
var fruit = new Array("西瓜","香蕉","苹果"); //声明数组并给数组内三种水果赋值
//第一次显示数组“fruit”的3个变量内容,<br>是换行符
document.write(fruit[0] + "<br>" + fruit[1] + "<br>" + fruit[2] + "<br>" + fruit);
document.write("<hr>"); //插入水平线做为分隔线
//第二次显示数组,<hr>是插入水平线做为分隔线
with (document) {
write(fruit.reverse() + "<hr>"); //将数组反转
write(fruit.join("、") + "<hr>"); //将数组结合成一个字符串,用“、”分开
write(fruit.sort() + "<hr>"); //将数组内容排序
write(fruit.length + "<hr>"); //计算出数组的长度
}
-->
</Script>