基于JavaScript实现移除(删除)数组中指定元素

在Array对象中有给定的函数可以删除数组中指定的元素,虽然非常好用,但是总感觉看不到摸不着的比较别扭,下面就分享一个自定义的删除数组指定索引值元素的函数,希望给大家一个全新的思路。

代码实例如下:

var array=[];
array[0]="我们一";
array[1]="我们二";
array[2]="我们三";
array[3]="我们四";
array[4]="我们五";
function remove(array,index)
{
 if(index<=(array.length-1))
 {
  for(var i=index;i<array.length;i++)
  {
   array[i]=array[i+1];
  }
 }
 else
 {
  throw new Error('超出最大索引!');
 }
 array.length=array.length-1;
 return array;
}
document.write(remove(array,2)); 

以上代码中,声明一个remove()函数,此函数具有两个参数,第一个参数是数组对象,第二个参数是要删除数组元素的索引值,所以上面的代码能够删除数组中的第三个元素,并输出删除元素户的数组。实现的原理也非常的简单,做一下简单的介绍:

remove()函数首先判断传入的索引值是否大约数组的最大索引值array.length-1,如果大于则抛出错误,否则的话则将使用for循环从索引值i开始进行遍历,将索引值为i的数组值设置为低i+1项的,依次类推,原理大体如此,如有任何问题可以跟帖留言。

ps:js删除数组指定元素

var a = new Array("a","b","cc","d3");
//删除a数组的cc元素
//jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。
该函数属于全局jQuery对象。 jquery 1.2中添加的该静态方法
var index = $.inArray("cc",a);
if(index>=0){
//arrayObject.splice(index,howmany,item1,.....,itemX)
//参数  描述
//index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX 可选。向数组添加的新项目。
 a.splice(index,1);
 alert(a.toString());
}else{
 alert("error");
 return false;
}
(0)

相关推荐

  • js在数组中删除重复的元素自保留一个(两种实现思路)

    例如:var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; 第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 用到两个函数:for ...in 和 indexOf() <script type="text/javascript"> var student = ['qiang','ming','tao','li','l

  • js删除数组元素、清空数组的简单方法(必看)

    一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置. 三,js 删除数组几种方法 var arr=['a','b','c

  • js删除Array数组中指定元素的两种方法

    本节内容: js删除Array数组中指定元素 方法一, /* * 方法:Array.remove(dx) 通过遍历,重构数组 * 功能:删除数组元素. * 参数:dx删除元素的下标. */ Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=

  • 解析javascript 数组以及json元素的添加删除

    javasscript删除数组的3种方法1,用shift()方法shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefinedvar chaomao=[1,2,3,4,5]var chaomao.shift()//得到1alert(chaomao)//[2,3,4,5] 2,用pop()方法pop:删除原数组最后一项,并返回删除元素的值:如果数组为空则返回undefinedvar chaomao=[1,2,3,4,5]var chaomao.pop()//得到5alert

  • JavaScript数组Array对象增加和删除元素方法总结

    本文实例总结了JavaScript数组Array对象增加和删除元素方法.分享给大家供大家参考.具体分析如下: pop 方法 移除数组中的最后一个元素并返回该元素. arrayObj.pop( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 如果该数组为空,那么将返回 undefined. shift 方法 移除数组中的第一个元素并返回该元素. arrayObj.shift( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 shift 方法可移除数组中的第一

  • JavaScript从数组中删除指定值元素的方法

    本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法,调用非常简单 定义函数removeByValue进行元素删除 function removeByValue(arr, val) { for(var i=0; i<arr.length; i++) { if(arr[i] == val) { arr.splice(i,

  • Javascript根据指定下标或对象删除数组元素

    将一下代码放在全局js文件中: Js代码 复制代码 代码如下: /** *删除数组指定下标或指定对象 */ Array.prototype.remove=function(obj){ for(var i =0;i <this.length;i++){ var temp = this[i]; if(!isNaN(obj)){ temp=i; } if(temp == obj){ for(var j = i;j <this.length;j++){ this[j]=this[j+1]; } thi

  • JavaScrip数组删除特定元素的几种方法总结

    前言 可能一说到删除数组特定元素你估计不止一种方法可以实现,那么下面且来看看我总结的这几种方法,可能会对你有所帮助!话不多说了,来一起看看详细的介绍吧. 源数组 var arr = ["George", "John", "Thomas", "James", "Adrew", "Martin"]; 伪删除 什么是伪删除呢? 就是说将数组元素值设置为null; arr[ arr.indexO

  • 体验js中splice()的强大(插入、删除或替换数组的元素)

    处理数组的方法很多,javascript splice()算是最强大的了,它可以用于插入.删除或替换数组的元素.下面来一一介绍! 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 2.插入-向数组指定位置插入任意项元素.三个参数,第一个参数(其实位置),第二个参数(0),第三个参数(插入的项) 3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数.第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项) 看下

  • JS删除数组元素的函数介绍

    split将字符串转为数组并输出的代码: 复制代码 代码如下: <script language="javascript">    function spli(){             datastr="2,2,3,5,6,6";         var str= new Array();     str=datastr.split(",");           for (i=0;i<str.length ;i++ )  

随机推荐