javascript的数组元素,为Array增加两个函数,实现删除功能
2011-03-24 15:52
639 查看
javascript的数组Array好像没有默认函数可以删除元素,当同事问起的时候也询问了下google,发现的确没有,继续谷之要删除元素需要要做下面三步:
1.删除元素
2.删除元素后的所有元素的索引-1
3.数组长度-1
根据上面三步策略,扩充了下Array的prototype,增加了两个函数用于删除数组,当然这里暂时没有考虑性能问题,只是为了满足日常所用。代码如下:
<script language="javascript">
Array.prototype.removeItems=function(){
if(arguments.length == 0){
return;
}else{
for(var idx in arguments){
for(var i=0,n=0;i<this.length;i++){
if(!(this[i]==arguments[idx])){
this[n++]=this[i];
}
}
this.length-=1;
}
}
}
Array.prototype.removeIndex=function(){
if(arguments.length == 0){
return;
}else{
for(var idx in arguments){
if(isNaN(arguments[idx])){
continue;
}
for(var i=0,n=0;i<this.length;i++){
if(!(i==arguments[idx])){
this[n++]=this[i];
}
}
this.length-=1;
}
}
}
//test code
var dd = new Array();
dd[0]='a';
dd[1]='b';
dd[2]='c';
dd[3]='e';
// dd.removeItems('b','a');
dd.removeIndex(1,2);
alert(dd);
</script>
removeItems函数删除数组中对应的元素值,可以传递多个参数,当不传参数的时候默认不做任何处理。
removeIndex函数删除数组中对应索引的元素值,可以传递多个参数,当不传参数的时候默认不做任何处理,当传递的参数非数字或者尝过长度时候,忽略其参数。
1.删除元素
2.删除元素后的所有元素的索引-1
3.数组长度-1
根据上面三步策略,扩充了下Array的prototype,增加了两个函数用于删除数组,当然这里暂时没有考虑性能问题,只是为了满足日常所用。代码如下:
<script language="javascript">
Array.prototype.removeItems=function(){
if(arguments.length == 0){
return;
}else{
for(var idx in arguments){
for(var i=0,n=0;i<this.length;i++){
if(!(this[i]==arguments[idx])){
this[n++]=this[i];
}
}
this.length-=1;
}
}
}
Array.prototype.removeIndex=function(){
if(arguments.length == 0){
return;
}else{
for(var idx in arguments){
if(isNaN(arguments[idx])){
continue;
}
for(var i=0,n=0;i<this.length;i++){
if(!(i==arguments[idx])){
this[n++]=this[i];
}
}
this.length-=1;
}
}
}
//test code
var dd = new Array();
dd[0]='a';
dd[1]='b';
dd[2]='c';
dd[3]='e';
// dd.removeItems('b','a');
dd.removeIndex(1,2);
alert(dd);
</script>
removeItems函数删除数组中对应的元素值,可以传递多个参数,当不传参数的时候默认不做任何处理。
removeIndex函数删除数组中对应索引的元素值,可以传递多个参数,当不传参数的时候默认不做任何处理,当传递的参数非数字或者尝过长度时候,忽略其参数。
相关文章推荐
- JavaScript数组Array对象增加和删除元素方法总结
- JavaScript数组Array对象增加和删除元素方法
- JavaScript数组Array对象增加和删除元素方法总结
- 9.2.利用函数swap用函数编程实现两个数组中对应元素值的交换。
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- JavaScript数组对象实现增加一个返回随机元素的方法
- 面试题7:用两个栈实现队列,队列的声明如下,请实现它的两个函数appendTail和deleteHead, 分别完成在队列尾部插入结点和在队列头部删除节点的功能。
- 编写一个多线程函数实现对数组排序,要求: 1.至少用两个线程 2.数组的元素值可以事先定义好,或者可以从键盘输入(增加一个线程)。 3.用一个线程对数组排序,用另一个线程输出排序结果。 4.保证先排好序,再输出。
- JavaScript Array(数组)对象中指定元素的删除
- JAVASCRIPT 实现增加和删除Select元素
- JavaScript数组对象实现增加一个返回随机元素的方法
- javaScript学习笔记——数组末尾元素的增加和删除
- 增加原型方法写出删除一个数组相同元素的函数
- 题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能
- 封装一个字符数组,实现增加,删除,替换,打印,搜索等功能
- 删除两个升序正数组中重复元素的C程序实现代码
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
- 基于JavaScript实现移除(删除)数组中指定元素
- javascript 005 基于原型链实现类 数组去重,排序,根据值删除数组中元素,查某个值在数组中的索引,根据值,判断数组中是否有该值的元素
- 实现在一个数组指定位置添加元素和删除元素的功能