除Object之外,Array类型应该就是 ECMAScript中最常用的引用类型了。
ECMAScript 的数组和其他语言的数组有着相当大的区别,虽然ECMAScript 数组与其他语言中的数组都是存放有序的列表,但与其他的语言不同的有:
- ECMAScript数组的每一项都可以保存任何类型的数据,也就是说,可以用数组的第一个位置保存字符串,用第二位置保存数值,用第三个位置来保存对象,以此类推。
- ECMAScript数组的大小是可以动态调整的,即可以随数据的增加自动增长以容纳新增数据。
创建数组
创建数组的基本方式有两种,一个是使用new 的Array构造函数。
var student = new Array();
如果已知数组的保存数量,可以定义length值。如:var student = new Array(50);
也可以向Array的构造函数传递已知的参数。
也可以省略new 的操作符,如: var colors= Array("red");
第二种创建方法就是,使用字面量表示法:var color=[ "red" , "blue" ];
读取/设置数组
读取和设置数组的值时候,要使用方括号并提供相应值得基于0的数字索引。
数组的length属性
数组的项数保存在数组的length,所以可以调用length属性查看数组的长度。
值得注意的是,length属性不是只读的,所以,可以通过设置这个属性,进行把数组尾端的移除项或者向数组添加新项。例如:
var num=[1,2,3,4,5]
num.length=3 //处理后的结果是 [1, 2, 3]
所以,可
以利用这个特性,当每次要添加项到数组末端的时候,可以参考如下:
var colors=["red","blue","green"]; //创建一个包含三个字符的数组
colors[color.length]="black"; //在位置3 添加一种颜色
colors[color.length]="brown"; //在位置4 添加一种颜色
数组的个数也不是无限制的,在ECMAScript中,
数组最多包含42 9496 7295个项,这几乎能满足所有的编程需求。如果超过这个项数,就出发生异常,
检测数组
可以用instanceof 操作符来判断是否是数组,例如value instanceof Array
在ECMAScript新增了Array.isArray()的方法,这个方法能确定这个值到底是不是数组。
使用方法Array.isArray(value);
转换方法
所有对象都具有
toLocaleString(),toString(),valueOf()的方法
array.toString()返回的是由数组中每个值的字符串形式拼接成一个以逗号分隔的字符串。
array.
valueOf()返回的还是一个数组。
toLocaleString 和toString的区别 (此两个方法都是所有对象的默认方法)
toString()方法获取的是String(传统字符串),而toLocaleString()方法获取的是LocaleString(本地环境字符串)
如果你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用toString()方法来完成.
因为LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号会有微妙的变化.
所以使用toString()是保险的,返回唯一值的方法,它不会因为本地环境的改变而发生变化.
如果是为了返回时间类型的数据,推荐使用LocaleString().若是在后台处理字符串,请务必使用toString().
数组默认是以逗号分隔,如果想改变其分隔符,可以调用.join(“分隔符”)的方法.