Javascript中数组的使用问题

本文通过一个JavaScript数组使用的实例,展示了当数组使用字符串作为下标时可能遇到的问题,包括数组长度计算错误及splice方法失效等,并给出了相应的注意事项。

var values=new Array();
values["No1"]="beijing";
values["No2"]="tianjin";
values["No3"]="shanghai";
values["No4"]="guangzhou";
alert("values="+values);

//下面的for循环无法进入,因为数组下标是字符串,在计算数组长度时得到的是0!!!!

for(var i=0; i<values.length; i++)
{
alert("item="+i+" value="+values[i]);
}

for(var item in values)
{

alert("item="+item+" value="+values[item]);
values.splice(0, 1);    //不会起作用,因为splice删除只能是用数字做下标。
break;
}
alert(values.length);
alert(values["No1"]);

结论:在使用javascript数组时,尽量不要使用带下标的赋值方式,这样的后果很难预料。上面的代码如果增加一句values["101"]="taian";得到的values.length将会是102。

 

转载于:https://www.cnblogs.com/imlucky/archive/2013/04/09/3010635.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值