用splice删除数组元素容易忽略的问题

作者:norion时间:2013年7月30日评论次数:0 条

今天写一个选择框的模拟插件,其中用数组来记录那些被选中,用到了splice删除数组,但是用下标来取值来是不对,而且length的值也会被改变,举个W3SCHOOL的例子:

<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(0,1)
document.write(arr[4])
</script>

其中,我想获取原来数组arr下标是4的值,删掉之后想要的arr[4]=”Adrew”,但是用splice删除第一个之后,获取的值不是我想要的,数组arr的下标被前移,这就可能在相应的应用上造成不便,我的解决方法是用null来占位,返回的数据在过滤掉null就可以准确的获取那些选中项目。

<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(0,1,null)
document.write(arr[4])

</script>

标签:

上一篇: 用正则实现字符参数可配置化

下一篇:简单的php生成随机字符串

相关文章

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注