一次性删除数组中的多个元素

1.删除数组中的多个元素,也就是去掉数组中不符合条件的选项

分析:用for或者forEach遍历数组的话在方法体内部 splice后数组长度发生了变化,最后得不到正确的结果。
filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 

2.解决方法:使用逆向循环 或者 Array.prototype.filter()方法

下面以angular项目中的删除已完成选项为例:

数据:

// 任务列表,true表示已完成
        $scope.todoList = [
            {id: 1, name: ‘eat‘, completed: false},
            {id: 2, name: ‘sleep‘, completed: false},
            {id: 3, name: ‘beat dou dou‘, completed: true}
        ];

删除操作:

// 删除已经完成的选项,方法一是使用逆向循环,方法二是使用filter方法
        $scope.rmCompleted = function () {
            // let arr = $scope.todoList;
            // for (let i = arr.length - 1; i > 0; i--) {
            //     if(arr[i].completed){
            //         arr.splice(i, 1)
            //     }
            // }

            $scope.todoList = $scope.todoList.filter(item => !item.completed);
        }

原文地址:https://www.cnblogs.com/codebook/p/10437210.html

时间: 2024-12-13 09:29:09

一次性删除数组中的多个元素的相关文章

js如何删除数组中的第一个元素

js如何删除数组中的第一个元素:下面介绍一下如何利用javascript删除数组中的第一个元素,代码如下: var arr=["蚂蚁部落","青岛市南区",2,"antzone"]; console.log(arr); arr.shift(); console.log(arr); 以上代码可以删除数组中的第一个元素,具体可以参阅javascript的Array对象的shift()方法一章节. 原文地址是:http://www.softwhy.co

删除数组中指定的某个元素

/** * 删除数组中指定的某个元素 */ function removeByValue(arr, val) {   for(var i=0; i<arr.length; i++) {     if(arr[i] == val) {       arr.splice(i, 1);       break;     }   } } var somearray = ["mon", "tue", "wed", "thur"]

javascript shift()删除数组中的第一个元素

javascript shift()可以把数组中的第一个元素从其中删除,并返回第一个元素的值.(如果数组是空的,那么shift()方法将不进行任何操作,并返回undefined值.) <!DOCTYPE html> <html> <head> <title>Runde</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-

删除数组中的某一个元素

作者:zccst 首先定义一个数组如果 var a = [1,2,3,4,5]; 比如要求删除第一个元素,即期望删除后变成[1,3,4,5],当然要求不使用系统函数 delete a[1];  //不符合需求 [1, undefined, 3, 4, 5] a[1] = null;  //不符合需求 [1, null, 3, 4, 5] a.splice(1,1); //不符合需求,能达到效果,但使用了系统函数 既然是学习,顺便温习一下splice的用法,splice有三个参数,前两个是必须的a

JS中删除数组中元素的几种方法

1.删除数组中的最后一个元素: 1 <script> 2 // 首先定义一个数组 3 var arr = [1,2,3,4,5]; 4 // 输出数组 5 console.log(arr);//结果为[1,2,3,4,5] 6 // 调用pop 方法 7 arr.pop(); 8 // 再次输出 9 console.log(arr);//结果为[1,2,3,4] 10 </script> 使用pop()方法只能删除数组中的最后一个元素. 2.删除数组中的第一个元素: 1 <s

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

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

循环删除数组中元素的正确方法

1.循环删除数组中元素的正确方法 提起循环删除数组中的元素,最先想到的就是使用for循环和数组的splice方法来实现(正序循环删除方法),如下代码用来实现删除数组中大于2的元素: 1 let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]; 2 for (let i = 0, len = arr.length; i < len; i++) { 3 if (arr[i]> 2) { 4 arr.splice(i, 1); 5 } 6 } 7 console.log(arr)

(实用篇)PHP中unset,array_splice删除数组中元素的区别

php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧 如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> 结果是: Array ( [0] => a [2] => c [3] => d

删除数组中某个元素

需求:已知一个数组,删除其中某个元素,其它向左移,最后一位补null值 分析: 1.找出要删除元素的下标,找个变量接收 2.此位置元素后面的元素依次向左移一位 3.补齐最后一位赋值null 4.输出新数组 /** * */ package com.cn.u4; /** * @author Administrator *删除数组中某个元素值 */ public class DelArray { public static void main(String[] args) { //定义数组 Stri