ES6的forEach和filter的使用及区别

需求:去除包含a的数组元素

开始前,提一下indexOf方法,怕有些人忘记了…
indexOf()方法:可返回某个指定的字符串值在字符串中首次出现的位置。
注释:indexOf()方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。

  // 使用传统的方法
     var arr = ['lla','gsga','ss']
     var newArr = []
     for(var i = 0;i< arr.length;i++){
       if(arr[i].indexOf('a') === -1){
          newArr.push(arr[i])
       }
     } 
     console.log('我是for循环,',newArr);
  // 使用forEach方法
  // 定义: forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。
  // 注意: forEach()对于空数组是不会执行回调函数的,forEach只能遍历,
  //      不能对数组进行排序。
  // 语法: array.forEach(function(currentValue, index, arr), thisValue)
     var arr1 = ['ll','gsga','sas','bia','sass','sdsd','dadasd']
     var newArr1 = []
     arr1.forEach(function(item,i){
          if(item.indexOf('a') === -1){
              newArr1.push(item)
         }
     })
     console.log('我是forEach,',newArr1);

   // 另外在forEach中不能使用continue和break;但有替代
   // return和return true 等于 continue
   // return 等于 false
   // 使用filter方法
   // 定义: filter()方法创建一个"新的数组",新数组中的元素是通过检查指定数组中符合
   //      条件的所有元素。
   // 注意: 1.filter()不会对空数组进行检测。 2.filter()不会改变原始数组。
   //      3.结果为true时,保留。false时,移除。
   // 语法: array.filter(function(currentValue,index,arr), thisValue)
      var arr2 = ['abcc','bag','cc','dd','adssad','werwer','fjiji','saksd']
      newArr2 = arr2.filter(function(item){
         return item.indexOf('a') === -1
      })
      console.log('我是filter,',newArr2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值