美文网首页JS
js中的循环 & 迭代

js中的循环 & 迭代

作者: 一颗脑袋 | 来源:发表于2018-10-19 13:53 被阅读0次

最常见的便是for循环和while循环,下面主要比较map、foreach;for in、Object.keys()、getOwnPropertyNames()之间的区别。
虽然后面三个方法都可以用来迭代数组和对象,但是我们应该尽量不要使用这些方法来遍历数组。

map和forEach

首先两者参数相同:

  • arr.map(function(val,index,arr), thisVal) ;
  • arr.forEach(function(val,index,arr), thisVal).
    区别在于回调函数作用不一样,map返回处理过的数组,而forEach无返回值。两者均不改变原数组。所以forEach得作用和普通的for循环是一样的。
for in、Object.keys()和getOwnPropertyNames()

首先,三个方法都可以迭代数组,但不推荐。

  • for(key in object)可以遍历对象object的所有可枚举属性值(包括实例属性和原型链属性);
  • Object.keys(object)同样可以遍历对象object的可枚举属性,但不包括原型链上的属性,返回属性数组。
  • object.getOwnPropertyNames()遍历object的所有属性(包括不可枚举的属性,比如function),但同样不包括原型链上的属性,返回遍历的属性数组。
Jquery中的$.map()和 $.each()

Jquery对遍历提供了$.map()喝$.each()方法,和js原生的map和forEach类似,但这两个方法不只是遍历数组,还能遍历对象,$.map()不管遍历数组还是对象,返回值任然是数组。

细节

  • map和forEach中使用break;语句无效,需要使用try catch语句处理。

相关文章

  • js中的循环 & 迭代

    最常见的便是for循环和while循环,下面主要比较map、foreach;for in、Object.keys(...

  • JavaScript 04 (do...while循环/for

    js循环,js循环嵌套,js do...while循环,js的for循环,js中的break,js中的contin...

  • for...of妙用

    refer: 为什么说for...of循环是JS中的宝石 Summary 简明扼要 它接受迭代器,包括数组,字符串...

  • kotlin 中的 "for" 循环和迭代m

    文章目录场景"for" 循环迭代map总结 场景 kotlin 中的 "for" 循环和迭代 map 与我们熟知的...

  • 第十四章习题

    1.for循环和迭代器之间有什么关系? for循环会使用迭代协议来遍历迭代的对象中的每一个项。for循环会在每次迭...

  • for循环背后的工作原理

    1. for 循环什么? for 循环是对容器进行迭代的过程。 2. 什么是迭代? 迭代就是从某个容器对象中逐个地...

  • 数组(Array)<迭代器>

    一、Js数组迭代器方法 主要介绍js数组中的forEach,every,some,filter,map迭代器方法 ...

  • vue循环实现复用较高组件

    v-for的基本用法 三种基本功能:迭代数组、迭代对象、迭代整数详细的例子和语法介绍可以查看菜鸟vue.js循环语...

  • 10.Python编程:迭代器和生成器

    前面介绍了python中的条件判断和循环控制。而在循环控制中,还有一个比较重要的迭代器。迭代也叫遍历,迭代是Pyt...

  • python的高级特性-迭代

    迭代顾名思义就是循环,python中通过for...in来实现迭代,在python中迭代是只能作用在可迭代对象上的...

网友评论

    本文标题:js中的循环 & 迭代

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