删除数组中指定元素的javascript代码

删除数组指定元素的原理很简单,无非就是遍历数组查找到给定的元素是否在,找到如果在找就删除,下面我们通过一个应用实例来说明。

 

arraywithout = function(){
  if (arguments.length < 2) {
// arguments 是特殊的对象,代表函数的参数.
    return arguments.length == 1 ? arguments[0] : null;
  }
  var results = [];
   var aa = arguments[0];
//将第一参数赋给数组aa;
  if (aa === null || aa.constructor != array) {
    return null;
//如果aa不存在或者不是数组,那么返回null;
  }
  if(arguments[1].constructor == array){
// 如果第二个参数是数组,则将参数数组中对应的每个元素都删除;
    var args = [];
    args[0] = aa;
//aa = arguments[0] 将aa赋给数组args,作为其第一个元素值;
    foreach(arguments[1], function(v, i){
//引用了函数foreach,来对数组arguments[1]中每个元素进行操作,
      args[i+1] = v;
// v代表数组arguments[1]中每个元素值,将它们一一赋值给args[1],args[2]...,而args[0]=arguments[0];
   });
   }
   else{
    args = arguments;
//如果第二个参数不是数组,则直接将参数数组赋给args;
  }
  for(var i = 0;i < aa.length; i ++){
    var iswithout = true;
    for(var j = 1; j < args.length ; j ++){
      if(aa[i] == args[j]){
       iswithout = false;
       break;
// 切记j是从1开始的,因为args的第一元素args[0]是arguments[0],正是我们要处理的的原数组,等同于数组aa;
让要删除的各个元素与原数组aa中的某一元素进行逐次比较,如果相同,break 跳出循环; iswithout返回false,所以也不再执行下面的 results.push(aa[i]);
    }
   }
     if (iswithout) {
       results.push(aa[i]);
        //所谓删除原理,就是将原数组各元素与要删除的元素进行比较,保留与要删除的元素不相同的元素并赋给一个新的数组results;
    }
  }
  return results;
//返回已经删除了指定元素的数组;
};
// 引用arraywithout的例子
var testarray = [1,2,3,4,5,1,2,'w'];
var result = arraywithout(testarray, 1, 3);
//var result = arraywithout(testarray, [1, 4]);
alert(result) //[2,4,5,2]

总结,这里用到push,如果遍历数据然后进行比较再删除这样就实现的删除指定数组元素了。

时间: 2024-09-15 13:27:05

删除数组中指定元素的javascript代码的相关文章

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

在Array对象中有给定的函数可以删除数组中指定的元素,虽然非常好用,但是总感觉看不到摸不着的比较别扭,下面就分享一个自定义的删除数组指定索引值元素的函数,希望给大家一个全新的思路. 代码实例如下: var array=[]; array[0]="一"; array[1]="二"; array[2]="三"; array[3]="四"; array[4]="五"; function remove(array

删除数组中指定元素多种方法

//方法一 $array = array(1,2,3,4,5); $str =3; $len = count( $array ); for( $i=0;$i<$len; $i++) {  if( $array[$i] == $str )  {   unset( $array[$i] );  } } print_r( $array ); /* Array (     [0] => 1     [1] => 2     [3] => 4     [4] => 5 ) */ //按

javascript删除数组中指定元素几种方法

删除数组指定的下标:  代码如下 复制代码 HTML code<script> var arr = ['a','b','c','d','e']; function arr_del(d){     return arr.slice(0,d-1).concat(arr.slice(d)); } alert(arr_del(3)); // a,b,d,e </script> /* * 删除数组指定下标的元素. */    代码如下 复制代码 Array.prototype.remove

Javscript删除数组中指定元素并返回新数组

 把数组中某个值删除,并返回新数组,需要遍历旧数组找到要删除的元素,下面有个不错的示例,大家可以参考下 代码如下: /*  * 删除数组中指定值  */  Array.prototype.remove=function(value){  var len = this.length;  for(var i=0,n=0;i<len;i++){//把出了要删除的元素赋值给新数组  if(this[i]!=value){  this[n++]=this[i];  }else{  console.log(

Javscript删除数组中指定元素并返回新数组_javascript技巧

把数组中某个值删除,并返回新数组,需要遍历旧数组找到要删除的元素 复制代码 代码如下: /* * 删除数组中指定值 */ Array.prototype.remove=function(value){ var len = this.length; for(var i=0,n=0;i<len;i++){//把出了要删除的元素赋值给新数组 if(this[i]!=value){ this[n++]=this[i]; }else{ console.log(i);//测试所用 } } this.leng

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

本节内容: 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通过元素索引号删除数组中对应元素的方法

 这篇文章主要介绍了JavaScript通过元素索引号删除数组中对应元素的方法,涉及javascript操作数组的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript通过元素索引号删除数组中对应元素的方法.分享给大家供大家参考.具体分析如下: JavaScript通过元素的索引号删除数组中的元素,如果要删除第3个元素,则使用RemoveValByIndex(2)即可,JS数组从0开始 ? 1 2 3 4 5 6 7 8 9 10 11 function Rem

c-请教一个删除数组中指定下标元素的问题

问题描述 请教一个删除数组中指定下标元素的问题 std::string ss="sdfsefsf"; ss[3]=null; 如果这样的话第四个数就会变成一个空格,我想请教一下怎么样才能让第四个数 直接消失,不要用任何东西替换. 解决方案 你这样本来就是把第四个元素替换成空格,删除元素用erase,例如删除第四个 ss.erase(ss.begin()+3); 解决方案二: ss[3] = ''; 解决方案三: vc不知道,但java中js有个方法 array.splice(index

JavaScript通过元素索引号删除数组中对应元素的方法_javascript技巧

本文实例讲述了JavaScript通过元素索引号删除数组中对应元素的方法.分享给大家供大家参考.具体分析如下: JavaScript通过元素的索引号删除数组中的元素,如果要删除第3个元素,则使用RemoveValByIndex(2)即可,JS数组从0开始 function RemoveValByIndex(arr, index) { arr.splice(index, 1); } test = new Array(); test[0] = 'Apple'; test[1] = 'Ball'; t