js中数组的遍历

作者: tiancai啊呆 | 来源:发表于2017-09-29 15:57 被阅读277次

在平时的工作中,对数组,对象的遍历操作是非常常见的。现就遍历的几种方式做以下总结。

数组的遍历

假设有一个数组var arr = ['a',,'d'];我们需要遍历打印数组元素。

  • 最常见的for循环
for (var i = 0; i< arr.length; i++) { 
    console.log(arr[i]); //a,undefined,d
} 
  • for in
for (var i in arr) {
    console.log(arr[i]); //a,d
}
  • for of
for (var i of arr) {
    console.log(i); //a,undefined,d
}
  • 数组实例的forEach方法
arr.forEach(function(value){ 
    console.log(value); //a,d
 })
  • 数组实例的map方法
arr.map(function(value){ 
    console.log(value); //a,d
}) 
  • 数组实例的filter方法
arr.filter(function(value){
    console.log(value); //a,d
 }) 
  • es6的keys方法
for (let index of arr.keys()) {
    console.log(index);//0,1,2
}
  • es6的values方法
for (let elem of arr.values()) {
    console.log(elem);//a,undefined,d
}
  • es6的entries方法
for (let [index, elem] of arr.entries()) {
    console.log(index,elem);//0 a 1 undefined 2 d
}

说明:

  • 最常见也是使用最广的就是普通的for循环,它适用所有的遍历场景,不会跳过空位。
  • for in 与for of是遍历对象时使用的,一般不推荐用来遍历数组。 for in 用来遍历对象的键名,for of 用来遍历对象的键值。
  • forEach方法一般不返回值,只用来操作数据,会跳过空位。
  • map方法返回一个新数组,会跳过空位。
  • filter方法返回一个新数组,用来根据条件过滤数组的,会跳过空位。
  • es6的三种方法都返回一个遍历器对象,可以用for...of循环进行遍历, keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。它们都不会跳过空位。

相关文章

  • JS或Jquery之遍历对象数组取出字符串用逗号拼接方式

    使用JS遍历对象数组方式一如下: 使用JS遍历数组方式二如下: 使用Jquery遍历对象数组如下:

  • js遍历与jQuery遍历

    js遍历与jQuery遍历 js遍历数组和对象 for... var demoArr = ['Javascript...

  • js遍历数组和遍历对象的区别

    js遍历数组和遍历对象的区别

  • 基础语法

    遍历 js遍历 for-in注意JavaScript的for-in遍历,对于数组来说,x是下标(索引),不是数组元...

  • for循环性能比较

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,...

  • JS遍历相关知识

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,...

  • 遍历数组和对象2018-08-14

    js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。 J...

  • 数组2

    js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。 J...

  • js中数组的遍历

    最近做的一个小demo,频繁遇到数组以及对象的遍历操作,总结一下自己在实际项目中使用遍历的方法。 最常用的还是fo...

  • js中数组的遍历

    在平时的工作中,对数组,对象的遍历操作是非常常见的。现就遍历的几种方式做以下总结。 数组的遍历 假设有一个数组va...

网友评论

    本文标题:js中数组的遍历

    本文链接:https://www.haomeiwen.com/subject/jgyiextx.html