JavaScript Array(数组) 对象
数组对象的作用是:使用单独的变量名来存储一系列的值。
在线实例
创建数组, 为其赋值:
页面底部你可以找到更多的实例。
什么是数组?
数组对象是使用单独的变量名来存储一系列的值。
如果你有一组数据(例如:车名字),存在单独变量如下所示:
var car2="Volvo";
var car3="BMW";
然而,如果你想从中找出某一辆车?并且不是3辆,而是300辆呢?这将不是一件容易的事!
最好的方法就是用数组。
数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。
数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。
创建一个数组
创建一个数组,有三种方法。
下面的代码定义了一个名为 myCars的数组对象:
1: 常规方式:
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
2: 简洁方式:
3: 字面:
访问数组
通过指定数组名以及索引号码,你可以访问某个特定的元素。
以下实例可以访问myCars数组的第一个值:
以下实例修改了数组 myCars 的第一个元素:
[0] 是数组的第一个元素。[1] 是数组的第二个元素。 |
在一个数组中你可以有不同的对象
所有的JavaScript变量都是对象。数组元素是对象。函数是对象。
因此,你可以在数组中有不同的变量类型。
你可以在一个数组中包含对象元素、函数、数组:
myArray[1]=myFunction;
myArray[2]=myCars;
数组方法和属性
使用数组对象预定义属性和方法:
var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值
完整的数组对象参考手册
你可以参考本站关于数组的所有属性和方法的完整参考手册。
参考手册包含了所有属性和方法的描述(和更多的例子)。
创建新方法
原型是JavaScript全局构造函数。它可以构建新Javascript对象的属性和方法。
实例:创建一个新的方法。
for (i=0;i<this.length;i++){
this[i]=this[i].toUpperCase();
}
}
尝试一下 »
上面的例子创建了新的数组方法用于将数组小写字符转为大写字符。
LongStay
xuz***angzz@vip.qq.com
使用数组对象结合 select 对象实现二级级联菜单。
select1 省级菜单, select2市级菜单
在省级标签中添加事件onchange="addOption()"
尝试一下 »
LongStay
xuz***angzz@vip.qq.com
Mrshang110
146***8812@qq.com
访问数组元素和访问对象属性时,会发现他们的格式很像:
数组是特殊的对象。
对象的属性名是字符串类型的,数组可以看做属性名是数字类型的,这样就很好理解了。
数组还针对数组的特性,对对象属性的布局做了优化。
Mrshang110
146***8812@qq.com
子不语
394***469@qq.com
遍历一维数组: 依次访问数组中每个元素,对每个元素执行相同的操作
遍历关联数组: for in 循环
其实: js底层,一切对象都是关联数组:
比如: 索引数组,window等
遍历二维数组: 外层循环遍历行,内层循环遍历列
子不语
394***469@qq.com
生活很黑白
975***049@qq.com
Js 中为数组提供了多种遍历方式
Js还为数组对象内置了多种迭代方法, 处理数组时极为方便
生活很黑白
975***049@qq.com
tianqixin
429***967@qq.com
数字索引与非数字索引
JavaScript 数组只支持数字索引,非数字索引指的是对象的属性了。
JavaScript 的数组可以看做是特殊的对象(object),对象的属性有两种表示方法。查看以下实例:
实例中由于你没有给数组的元素赋值,所以 a 数组的长度也没有被创建出来,此时 a.length 输出结果为 0。
在最后一行代码中数组元素 a[2] 赋值了,此时 JavaScript 会给数组 a 创建一个长度为 3 的空间,并在第三个元素中赋以3,但是元素1和元素2都没有赋值,所以此时a[0]和a[1]是没有值的。
如果要使用的是一个完全由“字符串下标”组成的数组,那还是将其声明为一个 Object 类型的对象要更好一些。
Javascript 数组下标值的范围为 0 ~ 232。对于任意给定的数字下标值,如果不在此范围内,Javascript 会将它转换为一个字符串,并将该下标对应的值作为该数组对象的一个属性值而不是数组元素,例如 array[-1] = "yes" 其实就相当于给 array 对象添加了一个名为 -1 的属性,属性值为 yes。如果该下标值在合法范围内,则无论该下标值是数字还是数字字符串,都一律会被转化为数字使用,即 array["100"] = 0 和 array[100] = 0 执行的是相同的操作。
tianqixin
429***967@qq.com