js 删除数组中多个元素

js中如果使用forEach的话 , splice删除的时候会导致js的数组的length发生改变 , 因此会出现本应该删除的元素没有被删除 .

因此 , 我的想法是 : 使用index遍历 , 删除一个数组之后 , index不变  代码如下 :

 1 var deleteTaskIds = [1,2,3,4];
 2 var taskList = [{}]
 3 for (var i=0; i<taskList.length;){
 4    var task = taskList[i];
 5    if (deleteTaskIds.contains(task.id)) {
 6       taskList.splice(i,1);
 7       continue;
 8    }
 9    i++;
10 }

PS: 代码中使用的contains方法是我自己实现的 . 实现代码如下:

1 Array.prototype.contains = function(obj) {
2     var i = this.length;
3     while (i--) {
4             if (this[i] == obj)                 {
5             return true;
6         }
7     }
8     return false;
9 };    
时间: 2024-07-30 13:30:57

js 删除数组中多个元素的相关文章

JS删除数组中的某个元素

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: 1 Array.prototype.indexOf = function(val) { 2 for (var i = 0; i < this.length; i++) { 3 if (this[i] == val) return i; 4 } 5 return -1; 6 }; 然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素: 代码为: 1 Array.prototype.remo

js删除数组中的元素

js删除数组中的元素delete和splice的区别 例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: ["a",undefined,"c","d"] 只是被删除的元素变成了 undefined 其他的元素的键值还是不变. 方法二:aplice 删除数组 splice(index,len,[item]

js删除数组里的某个元素

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; 然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:代码为: Array.prototype.remove = function(v

C#如何删除数组中的一个元素

C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个元素)m,n数值已知 double[] arr = new double[50]; List<double> list = arr.ToList(); list.RemoveAt(5+1); double[] newarr = list.ToArray(); 转:http://www.zybang

js删除数组中的&#39;NaN&#39;

js中的NaN不和任何值相等,包括自身. 所以可以使用x!=x来判断x是否是NaN,当且仅当x为NaN时,表达式的结果为true. NaN != NaN //true 可以依此删除数组中的'NaN'. Array.prototype.delNaN = function () { var arr = []; for (var i = 0; i < this.length; i++) { if (this[i] === this[i]) { arr.push(this[i]); } } return

删除数组中的重复元素,并返回去重的数组

/*删除数组中的重复元素,并返回去重的数组*/ function delRepeatNum(arr){ var result = []; var middleObj = {}; var temp; for(var i = 0; i < arr.length; i++){ temp = arr[i]; middleObj[temp] = 1; } for(temp in middleObj){ result.push(temp); } return result; }

javascript如何删除数组中指定的元素

javascript如何删除数组中指定的元素: 本章节将通过实例简单介绍一下如何删除数组中的元素,希望给需要的朋友带来帮助. 删除数组元素的方式有多种,下面简单介绍一下常用的几种方式: 一.使用delete进行删除: 代码实例如下: var myArray=new Array() myArray[0]="蚂蚁部落"; myArray[1]="青岛"; myArray[2]="奋斗才会有美好的未来"; delete myArray[1] alert

php删除数组中相同的元素,只保留一个相同元素

<?php// 删除数组中相同元素,只保留一个相同元素function formatArray($array){sort($array);$tem = ”;$temarray = array();$j = 0;for($i=0;$i<count($array);$i++){if($array[$i]!=$tem){$temar(www.111cn.net)ray[$j] = $array[$i];$j++;}$tem = $array[$i];}return $temarray;}//测试 调

【LeetCode-面试算法经典-Java实现】【027-Remove Element(删除数组中指定的元素)】

[027-Remove Element(删除数组中的元素)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn't matter what you leave beyond the