zoukankan      html  css  js  c++  java
  • 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()
      用于获取对象自身所有的可枚举的属性值,但不包括原型中的属性,然后返回一个由属性名组成的数组。
  • 相关阅读:
    CodeForces 7B
    CodeForces 4D
    离散化
    线段树入门
    洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)
    Codeforces 1295D Same GCDs (欧拉函数)
    Codeforces 1295C Obtain The String (二分)
    Codeforces 1295B Infinite Prefixes
    Codeforces 1295A Display The Number(思维)
    Codeforces 1294F Three Paths on a Tree(树的直径,思维)
  • 原文地址:https://www.cnblogs.com/wenshaochang123/p/14820945.html
Copyright © 2011-2022 走看看