循环

字符串遍历:可通过for-of遍历字符串

for-in:遍历对象自身可继承可枚举属性

Object.keys():返回对象自身可枚举属性的键组成的数组

Object.getOwnPropertyNames():返回对象自身可继承可枚举非枚举属性的键组成的数组

Object.getOwnPropertySymbols():返回对象Symbol属性的键组成的数组

Reflect.ownKeys():返回对象自身可继承可枚举非枚举Symbol属性的键组成的数组

ForOf循环

  • 定义:调用Iterator接口产生遍历器对象(for-of内部调用数据结构的Symbol.iterator())
  • 遍历字符串:for-in获取索引,for-of获取值(可识别32位UTF-16字符)
  • 遍历数组:for-in获取索引,for-of获取值
  • 遍历对象:for-in获取键,for-of需自行部署
  • 遍历Set:for-of获取值 => for (const v of set)
  • 遍历Map:for-of获取键值对 => for (const [k, v] of map)
  • 遍历类数组:包含length的对象、Arguments对象、NodeList对象(无Iterator接口的类数组可用Array.from()转换)
  • 计算生成数据结构:Array、Set、Map
    • keys():返回遍历器对象,遍历所有的键
    • values():返回遍历器对象,遍历所有的值
    • entries():返回遍历器对象,遍历所有的键值对
  • 与for-in区别
    • 有着同for-in一样的简洁语法,但没有for-in那些缺点、
    • 不同于forEach(),它可与break、continue和return配合使用
    • 提供遍历所有数据结构的统一操作接口

js循环及for-in , for-of的区别的更多相关文章

  1. Handlebars.js循环中索引(@index)使用技巧(访问父级索引)

    使用Handlebars.js过程中,难免会使用循环,比如构造数据表格.而使用循环,又经常会用到索引,也就是获取当前循环到第几次了,一般会以这个为序号显示在页面上. Handlebars.js中获取循 ...

  2. Data层相关问题 & JS循环取值

    第一次写博客,里面是自己工作中碰到的问题及总结的知识点,便于自己以后回顾,技术大牛们请直接忽略这篇文章,也希望能帮助到想我这样的小白! Data层相关问题总结: 1. 代码管理用的是 VSS 2005 ...

  3. js循环POST提交添加辅助单位

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. JS数组+JS循环题

    先看JS循环作业题: 一.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 <script type="text/javascript"> ...

  5. js循环处理后台返回的json数组

    <script type="text/javascript"> function gongdan_search(elm){ var dangqian_value=$(e ...

  6. JS 循环遍历JSON数据 分类: JS技术 JS JQuery 2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{&quot;options&quot;:&quot;[{

    JS 循环遍历JSON数据 分类: JS技术 JS JQuery2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{"options&q ...

  7. ----关于统计字符出现次数的JS循环以及indesxOf函数----

    以下将会通过JS循环判断字符“banana”出现次数 以及调用indexOf中的函数来实现统计   <!DOCTYPE html> <html> <body> &l ...

  8. JS循环中使用bind函数的参数传递问题

    JS循环中使用bind函数的参数传递问题,问题代码如下: for (var sc in result) { var tempp = '<div class="sidebar_todo_ ...

  9. Vue.js——循环(Java、JSTL标签库、数据库)

    一.Vue.js循环 Vue.js循环要使用 v-for 指令. v-for 指令需要以 student in StudentList 形式的特殊语法使用, StudentList 是源数据数组并且s ...

  10. JS循环汇总

    JS循环汇总 一.总结 一句话总结:js中的循环主要有while.for.for...in.for...of,循环是,要区别不同的循环对象,比如对象,数组,集合等 while for for...in ...

随机推荐

  1. Java8 新特性之Stream

    1.Student package com.elk.log.myTest; public class Student implements Comparable<Student> { /* ...

  2. c# 扫描局域网IP列表的几种方法

    很多软件都有获知局域网在线计算机IP的功能,但是在.net怎么实现呢,有好多方法, 下面我给大家介绍几种,供大家参考. 1.微软社区上介绍了使用Active Directory 来遍历局域网 利用Di ...

  3. 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_05-用户认证-认证服务查询数据库-调用查询用户接口

    用户认证服务调用根据账号查询用户的信息 怎么远程调用呢?要创建一个客户端,这个客户端其实就是一个接口 标明服务的名称是ucenter服务 这是ucenter服务里面 复制过来接口的定义,GetMapp ...

  4. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_19-认证接口开发-接口开发-controller

    补充controller方法 判断是否有值传过来. 私有方法存储cookie httpOnly设置为false的话 浏览器就拿到这个cookie 拿到Response cookie在配置文件内的配置 ...

  5. Django和Flask这两个框架对比

    Flask 在 Django 之后发布,现阶段有大量的插件和扩展满足不同需要 Django发布于2005年,Flask创始于2010年年中. Django功能大而全,Flask只包含基本的配置,  D ...

  6. poi导出excel2007版本

    /** * 导出excel2007版本 * * @param titles * 表头集合 * @param sheetNames * sheet名称 * @param datas * 数据集合 * @ ...

  7. 123457123456#0#-----com.yuming.HitMouse01--前拼后广--幼儿打地鼠游戏

    com.yuming.HitMouse01--前拼后广--幼儿打地鼠游戏

  8. CDS视图篇 2

    核心数据服务 (CDS) 公司希望使用 SAPS/4HANA 核心数据服务 (CDS) 视图技术.需要学习 CDS 视 图的概念和结构以及语法 . ● 核心数据服务是用于业务实体的 SAP 战略建模方 ...

  9. 【Leetcode_easy】821. Shortest Distance to a Character

    problem 821. Shortest Distance to a Character solution1: class Solution { public: vector<int> ...

  10. 编写高质量iOS代码与OS X代码的effective方法(小结)

    一.熟悉OC: 了解OC的起源: OC和C++,Java等面向对象语言类似,不过有很方面差别.因为该语言使用  消息结构而非函数调用. 消息结构和函数调用的区别:前者是在其运行时所应执行的代码由运行环 ...