array.splice(index,howmanu,后面的参数省略)
官方文档上的解释是前面两个参数是必须的,但是如果未规定第二个参数,则删除从 index 开始到原数组结尾的所有元素。
不太明白这句胡的意思。。既然是必须的,为何又可以不规定呢。。
当我的splice方法中只有一个参数时,比如,我想删除所有元素
var arr=[1,2,3,4,5];
arr.splice(0);
alert(arr.join());//返回1,2,3,4,5
不知为何根本就没有删除。。把Index设置成别的值也不行,总之,如果splice方法的参数如果只有一个,这条语句就失效,忘高手解释原因
官方文档上的解释是前面两个参数是必须的,但是如果未规定第二个参数,则删除从 index 开始到原数组结尾的所有元素。
不太明白这句胡的意思。。既然是必须的,为何又可以不规定呢。。
当我的splice方法中只有一个参数时,比如,我想删除所有元素
var arr=[1,2,3,4,5];
arr.splice(0);
alert(arr.join());//返回1,2,3,4,5
不知为何根本就没有删除。。把Index设置成别的值也不行,总之,如果splice方法的参数如果只有一个,这条语句就失效,忘高手解释原因
解决方案 »
- js 对象值的操作
- 怎么得到IE 8浏览器窗口的大小
- js 做坚型菜单,大家喜欢用什么标签做?或者用什么标签较好。
- 回答的出,说明你的JS水准已从中级过度到高级。100分送上。。。。。。
- 大家给看看下面的正则表达式有区别吗,怎么我总觉一样呢???(判断非负整数)
- javascript中如何获取服务器的IP地址?
- 不是打开,而是下载文件,如何实现
- Javascript 中如何判断一个元素(譬如checkbox)是否存在?
- 杜洋!为什么我的600多分专家分突然间就没有了呢?
- asp.net 如何把 base64 还原为图片
- 如何设置3秒自动关闭处理窗口,送分了。!!
- 绝对难题,document.write
arr=arr.splice(0);
alert(arr.join());//返回1,2,3,4,5
arr=arr.splice(0);
alert(arr.join());//返回1,2,3,4,5这不是删除了吗?splice 返回删除后的数组!并没有改变原数组
var fruit=['apple','pear','kiwi','pomegranate'];
fruit.splice(1,2);
表示从fruit[1]开始删除,并且删除2项.
所以最后fruit就只剩下2个字符串:'apple'和'pomegranate'.如果你想删除所有的元素,应该这样:
arr.splice(0,arr.length);
应该就ok了.