一、for...of

1、特性说明

(1)常用于对数组,字符串,Set以及Map等可迭代数据的遍历

(2)可迭代的数据结构的判断方法: typeof obj[Symbol.iterator] === function,true则是

(3)需要注意一下对象不是普通对象不是可迭代的数据结构,不能使用for...of,会报错

let obj={name: 'wuyanzhⅰ'}console.log(typeof obj[Symbol.iterator] === 'function') // false

2、遍历字符串

let str = 'wuy'
for(let i of str){console.log(i)
}// w
// u
// y

3、遍历数组

let arr = ['wu', 'yan',  'zhi']
for(let item of arr){console.log(item)
}//wu
//yan
//zhi

4、遍历Set

let set = new Set(['red', 'green', 'blue'])
for(let j of set){console.log(j)
}
//red
//green
//blue

二、for...in:常用来遍历对象,获取key值

注:也可以用来遍历数组,但遍历数组得到的是索引的集合,意义不大

let arr = {name: 'wu',name1: 'yan'
}
for(let i of arr){console.log(i)
}
//name
//name1

额外补充一些对象的知识点:

let arr = {name: 'wu',name1: 'y'
}Object.keys(arr) // ['name', 'name1']Object.values(arr) // ['wu', 'y']Object.entries(arr) // [['name', 'wu'], ['name1', 'y']]

JS-for...in/for...of相关推荐

  1. 在js中使用HashMap数据结构,在js中使用K,V数据结构

    首先是定义一个HashMap方法,做基类(复制在js中即可,然后引用) //简单的哈希表,begin function HashMap() {/** Map 大小 * */var size = 0;/ ...

  2. js校验复选框(多选按钮)是否被选中的方法

    js校验复选框是否被选中的方法 方法一:(使用下标进行标记) if ($("#checkbox-id")get(0).checked) {// do something } 方法二 ...

  3. form表单提交前进行ajax或js验证,校验不通过不提交

    在使用form表单进行提交数据前,需要进行数据的校验->表单的校验(如:两次密码输入是否相同)+后台数据的校验(如:账号是否存在),这个时候,如果哪步校验不通过,表单将停止提交,同时避免后台主键 ...

  4. 终止js程序执行的方法

    js终止程序执行的方法共有三种 (一)在function里面(普通js方法) (1)return; (2)return false; (二)非function方法里面(如ajax方法) alert(& ...

  5. JS Uncaught SyntaxError:Unexpected identifier异常报错原因及其解决方法

    最近在写ajax的时候,调用js方法,遇到了Uncaught SyntaxError:Unexpected identifier异常报错,开始搞不清原因,很苦恼. 以为是js方法参数个数和长度的问题, ...

  6. 用js方法做提交表单的校验

    基础知识: 原始提交如下: <form action="<%=basePath %>puser/register" method="post" ...

  7. 【JavaScript总结】JavaScript语法基础:JS高级语法

    作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...

  8. 【JavaScript总结】JavaScript语法基础:JS编码

    运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...

  9. js获取html代码中所有图片地址

    /** * JS获取html代码中所有的图片地址 * @param htmlstr * @returns imgsrcArr 数组 */ function getimgsrc(htmlstr) { v ...

  10. Node.js 简单入门

    目录 一. 什么是Nodejs 二. Nodejs组成图(对比jdk) 三. Nodejs的安装 四. 第一个Nodejs程序 五. Node实现请求响应 六. Node操作MYSQL数据库 1. 安 ...

最新文章

  1. Embarcadero Dev C++ 中文输出乱码
  2. springboot发送http请求
  3. java 数组的方法_数组常用方法
  4. C#开发VS LUA开发
  5. subscribe error不执行_你不知道的redis:第三方jar无封装命令我们该怎么执行?
  6. python2.7使用TimeDelta中total_seconds()方法的问题
  7. vim编辑器中常用的命令
  8. Xmind8 Pro 最新版 破解教程(序列号|破解文件)
  9. POJ-3744 Scout YYF I 概率DP
  10. 百度地图显示车辆运行轨迹(动态轨迹回放功能)
  11. 微信支付实战(完整的代码,复制即可用)
  12. SpringBoot系列之(二):1.使用SpringBoot
  13. 清明 祭拜于形,感恩于心
  14. MySQL数据库常用查询(带练习示例)
  15. 腾讯云COS全球加速让全球用户加速访问
  16. host key has just been changed
  17. 爱奇艺2017校园招聘笔试题
  18. TPM零知识学习九 —— tpm全安装流程复盘(上)
  19. 浅谈逻辑:编程中最重要的基础
  20. 邮件中的html和浏览器不一样,HTML在浏览器中呈现良好,但在电子邮件中呈现不好(HTML是使用dataframe生成的)...

热门文章

  1. 浙江理工c语言复试试题,2016年浙江理工大学信息学院C语言程序设计复试笔试最后押题五套卷...
  2. Python vs Go!
  3. Java与Unix时间戳的相互转换
  4. 使用VMware备份操作系统
  5. 解析一个xml文件并将数据存入数据库
  6. eclipse refreshing external folders解决方案
  7. 使用axios方式实现Ajax请求
  8. 计算机组成原理常见题(四)
  9. [XCTF-Reverse] 入门1-6
  10. 小程序页面排版样式例子