字符串作为数组下标
首先Array是从Object那里继承下。它具备Object所有的功能和特性。下面是Object的情况:
- 新建: var object = new Object();
- 增加: object[strIndex ] = value; (strIndex 为string)
- 删除: delete object[strIndex ];
- 遍历: for ( var strObjIndex in object ) object[strObjIndex ];
如下:
- var obj = new Object(); obj["first"] = "my"; obj["second"] = "name"; obj["third"] = "is"; obj["fourth"] = "chenssy";
因为Array继承Object,那么Array也是可以用字符串作为数组下标的:
- var array = new Array(); array["first"] = "my"; array["second"] = "name"; array["third"] = "is"; array["fourth"] = "chenssy";
对于array数字的遍历,我们采用for循环语句。但是这个for循环并不是这个形式:我们可以利用for/in循环把该数组进行遍历。for/in循环把某个数组的下标临时赋给一个变量:
for(variable in array)
在第一个循环时,变量variable将被赋值为数组array的第一个元素的下标值;在第二次循环时,变量variable将被赋值为数组array的第二个元素的下标值;依次类推.......
对于上面的array数组,利用for/in循环遍历for(key in array)
下面是我写的一个例子
var ls ={name :"老松",sex:"男",hobby:"女",address:"北京",key:"hellokitty"}//console.dir(ls);for(indexinls){//字符串作为数组下标,对ls进行遍历}console.log(index+":"+ls[index]);控制台打印效果如下图: