字符数组遍历循环

 
 

1.for循环

for(var i= 0 ; i<10; i++){
console.log('这个内容会打印10次')
}
for in
  • for in 多用于循环遍历对象的属性

  • 循环出来的是key

  • for in 不适合遍历数组 : 因为V的值不是数字类型 而是字符串类型,在进行字符串运算时会带来极大的不便.


  • var myarr = [10,20,40,70];
      for (v in myarr){
          console.log(v);      //1
          console.log(typeof v); //string
      }
  

#### for of

+ for of 多用于遍历数组
+ 循环出来的是value

```javascript
var myarr = [10,20,40,70];
  for (v in myarr){
      console.log(v);     //10  
      console.log(typeof v); //num
  }

 

2.forEach()

  • 参数1 callback

    • 参数1:循环的当前元素

    • 参数2 :当前元素的下标

    • 参数3:当前元素所属数组的对象

  • 参数2 :可选。传递给函数的值一般用 "this" 值。如果这个参数为空, "undefined" 会传递给 "this" 值


  var myarr = ['10','20','40','70'];
var otherArr = ['2','3']
   myarr.forEach(function (v,i,) {
       console.log(v) //value值
       console.log(i) //相应的下标
    console.log(this) //this指向foreach的参数2
  },otherArr);

3.map() 兼容问题 但是很屌就对了!!

  • 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

    • 参数1 callback

      • 参数1:循环的当前元素

      • 参数2 :当前元素的下标

      • 参数3:当前元素所属数组的对象

    • 参数2 :可选。传递给函数的值一般用 "this" 值。如果这个参数为空, "undefined" 会传递给 "this" 值


      var myarr = ['10','20','40','70'];
      console.log(myarr.map(x => x * 2)); // ['20','40','80','140']

forEach()和map()遍历

共同点

1.都是循环遍历数组中的每一项。

2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原 始数组input。

3.匿名函数中的this都是指Window。

4.只能遍历数组。

 

4.some()

  • some()方法用于检测数组中的元素是否满足指定条件

  • 该方法会依次执行数组中的每个元素

    • 如果有一个元素满足条件则返回true,剩余元素不会再次执行检测

    • 如果没有满足条件则返回false

      • 不会对空数组进行检测

      • 不会改变原数组


var age = [4,12,18,20,21];
var judge = age.some(function(v){ //遍历age中的value值 大于20则返回ture反之返回false
       return v>20;
  })
   console.log(judge); //true

5.filter()

  • 语法


    • array.filter(function(v,i,arr), thisValue)
  • 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

    • filter() 不会对空数组进行检测。

    • filter() 不会改变原始数组。


var age = [4,12,18,20,21,23,99,'wo'];
   var judge = age.filter(function(v){
       return v>20;
  })
   console.log(judge); [21,23,99]

 

转载于:https://www.cnblogs.com/keyubin/p/8044895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值