zoukankan      html  css  js  c++  java
  • 一次性删除数组中的多个元素

    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);
            }
     
  • 相关阅读:
    mysql学习笔记
    MySQL的MySQL 的JDBC的安装与使用
    numpy的使用方法
    Linux命令
    MongoDB数据库
    爬虫请求库之selenium
    解析库beautifulsoup
    Requests属性
    正向代理、反向代理
    爬虫基本原理
  • 原文地址:https://www.cnblogs.com/codebook/p/10437210.html
Copyright © 2011-2022 走看看