数组中删除元素 哪位大哥 能给我个数组中删除 指定下标的元素的函数要求删除后最大下标会改变然后 兼容性 好例如 {1,2,3}删除2了 length得成2 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}var a = [1,2,3];a.remove(1);alert(a.join(",")); Array.prototype.removeByIndex = function(i){ if (i < this.length || i >= 0) { var ret = this.slice(0, i).concat(this.slice(i + 1)); this.length = 0; this.push.apply(this, ret); }}var a = [1, 2, 3, 4, 5, 6];a.removeByIndex(3)alert(a) arrCus = new Array();类似这样数组,删除了其中一项以后,那项是空的,但是还存在。 倒~~~!<script language="javascript">var arr = [1,2,3];alert( arr +"|" + arr.length );var idx = 1;arr.splice( idx,2,arr[idx+1] );alert( arr +"|" + arr.length );</script> Array.prototype.removeByIndex = function(i){ if (i < this.length && i >= 0) { var ret = this.slice(0, i).concat(this.slice(i + 1)); this.length = 0; this.push.apply(this, ret); }}var a = [1, 2, 3, 4, 5, 6];a.removeByIndex(3)alert(a) 排除数组中大于 0 的元素,使用第三个参数进行排除。jQuery 代码:$.grep( [0,1,2], function(n,i){ return n > 0;}, true);过滤数组中小于 0 的元素。jQuery 代码:$.grep( [0,1,2], function(n,i){ return n > 0;});结果: idx = 你要删除的元素位置arr.splice( idx,2,arr[idx+1] ); 就可以了,不用搞得那么麻烦. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head> <title>无标题页</title> <script type="text/javascript"> function RemoveKey() { var MyArray=new Array(); for(var i=0;i<3;i++) { MyArray[i]=i+1; } var TT=document.getElementById('Text1'); delete MyArray[TT.value]; } </script></head><body> <input id="Text1" type="text" /> <input id="Button1" type="button" value="button" onclick="RemoveKey();" /></body></html> Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}var a = [1,2,3];a.remove(1);alert(a.join(",")); 1楼的写法较完美!如果值不在数组中用splice好像得不到什么效果(最好有点提示) arr.splice(idx, 1);就好了第一个参数是要删除项的index,第二个参数是删除的个数 UP,直接用js函数splice就可以了 js图表中同一条数据线使用不同的颜色表示 window.Option.create 存在兼容性吗 action跳转回页面后jquery代码全失效了!! 一个关于jquey a标签的点击问题 javascript的语法 位置排序的问题 在线等:正则的替换问题 急求一个JavaScript代码 请问我从一个页面转到另一个页面,不用<A>元素,怎么传递参数? 求教:在javascript里,怎么才能进行这个函数的判断,请进。。 如何通过JS判断radio button Jquery 的判断问题 ie上不行
Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}var a = [1,2,3];
a.remove(1);
alert(a.join(","));
if (i < this.length || i >= 0) {
var ret = this.slice(0, i).concat(this.slice(i + 1));
this.length = 0;
this.push.apply(this, ret);
}
}
var a = [1, 2, 3, 4, 5, 6];
a.removeByIndex(3)
alert(a)
类似这样数组,删除了其中一项以后,那项是空的,但是还存在。
var arr = [1,2,3];
alert( arr +"|" + arr.length );var idx = 1;
arr.splice( idx,2,arr[idx+1] );
alert( arr +"|" + arr.length );
</script>
if (i < this.length && i >= 0) {
var ret = this.slice(0, i).concat(this.slice(i + 1));
this.length = 0;
this.push.apply(this, ret);
}
}
var a = [1, 2, 3, 4, 5, 6];
a.removeByIndex(3)
alert(a)
$.grep( [0,1,2], function(n,i){
return n > 0;
}, true);过滤数组中小于 0 的元素。jQuery 代码:
$.grep( [0,1,2], function(n,i){
return n > 0;
});结果:
arr.splice( idx,2,arr[idx+1] ); 就可以了,不用搞得那么麻烦.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<script type="text/javascript">
function RemoveKey()
{
var MyArray=new Array();
for(var i=0;i<3;i++)
{
MyArray[i]=i+1;
}
var TT=document.getElementById('Text1');
delete MyArray[TT.value];
}
</script>
</head>
<body>
<input id="Text1" type="text" />
<input id="Button1" type="button" value="button" onclick="RemoveKey();" />
</body>
</html>
a.remove(1);
alert(a.join(","));
arr.splice(idx, 1);
就好了
第一个参数是要删除项的index,第二个参数是删除的个数
UP,直接用js函数splice就可以了