字符数组遍历循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符数组遍历循环相关的知识,希望对你有一定的参考价值。


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]

 

以上是关于字符数组遍历循环的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 RegExp 循环遍历字符串并将其分段为数组?

数组的循环与迭代......字符串

字符数组遍历循环

对于一个遍历字符数组的循环,while(a[i])与for(i=0;a[i];i++)有啥区别??

循环遍历数组以获取项目的索引 - swift

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段