• js循环


    js循环

    数组遍历

    • for、forEach、for ...of
      小结:
      三者都是基本的由左到右遍历数组
      forEach 无法跳出循环;for 和 for ..of 可以使用 break 或者 continue 跳过或中断。
      for ...of 直接访问的是实际元素。for 遍历数组索引,forEach 回调函数参数更丰富,元素、索引、原数组都可以获取。
      for ...of 与 for 如果数组中存在空元素,同样会执行。
    • some、every
      小结:
      some、every都是做数组条件判断的,都是返回一个布尔值。
      两者都可以中断。
      some若某一元素满足条件返回true,循环中断;所有元素不满足条件,返回false。
      every与some相反,若有一个元素不满足条件返回false,循环中断;所有元素满足条件,返回true。
    • filter、map
      小结:
      filter、map都是生成一个新数组,都不会改变原来的数组。
      filter、map都会跳过空元素。
      map会将回调函数的返回值组成一个先数组,数组长度与原数组一致。
      filter会将符合回调条件的元素组成一个新的数组,数组长度与元素组不一致。
      map生成的新数组元素元素是可自定义。
      filter生成的新数组元素不可自定义,与对应原数组元素一致。
    • find、findIndex
      小结:
      find、findIndex都是用来查找数组元素。
      find方法返回数组中满足callback函数的第一个元素的值。如果不存在返回undefined。
      findIndex他返回数组中找到的元素的索引,而不是值,如果不存在返回 -1。
    • reduce
      计算对象数组某一属性的总和。
      对象数组最大/最小值获取。

    对象遍历

    • for in
      小结:
      使用 for in 循环时,返回的是所有能够通过对象访问的、可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例。如果只需要获取对象的实例属性,可以使用 hasOwnProperty 进行过滤。
      使用时,要使用(const x in a)而不是(x in a)后者将会创建一个全局变量。
    • Object.keys()
      小结:
      用于获取用户对象所有的可枚举的属性值,但不包括原型中的属性,然后返回一个由属性名组成的数组。
    • Object.values()
      用于获取对象自身所有的可枚举的属性值,但不包括原型中的属性,然后返回一个由属性值组成的数组。
    • Object.entries()
      用于获取对象自身所有的可枚举的属性值,但不包括原型中的属性,然后返回二维数组。每一个数组由对象的属性名、属性值组成。
    • Object.getOwnPropertyNames()
      用于获取对象自身所有的可枚举的属性值,但不包括原型中的属性,然后返回一个由属性名组成的数组。
  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/wenshaochang123/p/14820945.html
Copyright © 2020-2023  润新知