javascript总for of和for in的区别?

for in是ES5标准,for of是ES6标准;

for in是遍历对象属性,for of是遍历对象元素。

for of兼容性还不够,移动端安卓微信浏览器貌似不支持,苹果的可以;web端IE支持也不够,chrome可以。

 

先说结论:

  1. 推荐在循环对象属性的时候,使用for...in,在遍历数组的时候的时候使用for...of

  2. for...in循环出的是key,for...of循环出的是value

  3. 注意,for...of是ES6新引入的特性。修复了ES5引入的for...in的不足

  4. for...of不能循环普通的对象,需要通过和Object.keys()搭配使用

var student={name:'wujunchuan',age:22,locate:{country:'china',city:'xiamen',school:'XMUT'}
}
for(let key in student){console.log(key); //输出的是属性
console.log(student[key]); //输出的是属性值
}//name age locate
var student={name:'wujunchuan',age:22,locate:{country:'china',city:'xiamen',school:'XMUT'}
}
for(let key of Object.keys(student)){console.log(key); //使用Object.keys()方法获取对象key的数组
console.log(student[key]) ;//输出的是属性值
}
var arr= ['a','b','c']
for(let key in arr){console.log(key);//输出的是  键名 0 1 2console.log(arr[key]);//输出的是 键值 a b c
}
var arr= ['a','b','c','d','e']
for(let value of arr){console.log(value);//输出的是 键值 a b c d e
}
var arr= ['a','b','c','d','e']
for(let key of arr.keys()){console.log(key);//输出的是键名 0 1 2 3 4 
}
var arr= ['a','b']
for(let case of arr.entries()){console.log(case);//输出的是键值对 [0,'a'] [1,'b']
}

 

转载于:https://www.cnblogs.com/jkr666666/p/8033714.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go 怎么等待所有的协程完成_理解真实世界中 Go 的并发 BUG

点击上方蓝色“Go语言中文网”关注,回复「电子书」领全套Go资料有几个学生研究归纳了go编程中的并发bugs,发表了一篇(英文)论文:《Understanding Real-World Concurrency Bugs in Go》。为你下载好了 PDF,关注公众号 Go语言中文网…

java地图图表动态亮点,可视化图表行动指南:地表最强解读来了

原标题:可视化图表行动指南:地表最强解读来了身处信息技术高速发展的时代,数据价值日益凸显,然而如何将数据更好的展示,让别人一看就懂且眼前一亮可是一门大学问。此前,小亿在广大数友的强烈要求下结合前人…

matlab cell向量匹配向量,根据2个cell格式数据中的某二列进行匹配并合并

clear allacell(9,4); % a中的第1列为样本id, 第3列为日期bcell(6,3); % b中的第1列为样本id, 第3列为日期我想根据a中的第1列对应样本id和第3列对应日期与b中的第1列对应id和第3列对应日期进行匹配合并。a{1,1}name1;a{1,2}37; a{1,3}2010/9/1; a{1,4}4.5;a{2,1}name1…

python tfidf特征变换_Spark MLlib机器学习开发指南(4)--特征提取--TF-IDF

基于最新2.2.0版本翻译本节介绍和特征一起工作的算法,大致分为以下几类:提取:从原始数据提取特征转换:缩放,转换,或者修改特征选择:从一个大的特征集合里面选择一个子集局部敏感哈希(LSH)&#…

ASP.NET MVC 使用Swagger需要注意的问题!!!

之前,一直使用的微软自带的Microsoft.AspNet.WebApi.HelpPage来作为项目的接口文档,但总感觉有些不足,就准备采用Swagger。 在项目中引用Swagger很方便,直接Nuget搜索安装Swashbuckle就可以。但是,在使用的过程中&…

小波包能量matlab,小波包分析和小波包能量介绍.doc

小波包分析和小波包能量介绍基于五次谐波和小波重构能量的配电网单相接地故障的选线方法研究*孙其东,张开如,伊利峰,宋祥民,李娅芸(山东科技大学 电气与自动化工程学院 山东 青岛 266590)摘要: 对配电网经常发生的单相接地短路故障…

分块试水--CODEVS4927 线段树练习5

模板 1 #include<stdio.h>2 #include<algorithm>3 #include<string.h>4 #include<stdlib.h>5 #include<math.h>6 //#include<bitset>7 //#include<iostream>8 using namespace std;9 10 int n,m,q;11 #define maxn 10001112 #define…

【JVM】类的生命周期【转+整理】

参考如下三篇并整理。 1.Java类加载机制详解 2.深入理解Java&#xff1a;类加载机制及反射 3.jvm系列(一):java类的加载机制 类的生命周期是从被加载到虚拟机内存中开始&#xff0c;到卸载出内存结束。过程共有七个阶段。 1.加载---2.验证---3.准备---3.解析---5.初始化---6.使…

java概念,Java基础概念

1. Java编译程序将Java源程序翻译成JVM可执行代码-Java字节码。这一过程同C/C不同。当C编译器翻译成一个对象代码时&#xff0c;该代码是为在某一特定硬件平台运行而产生的。因此&#xff0c;在编译过程中&#xff0c;编译程序通过查表将所有符合引用转换为特定的内存偏移量。而…

【Excle】如何隐藏数据透视表中的错误值

如下&#xff1a;数据透视表出现错误怎么解决呢步骤方法①单击数据透视表任意单元格→数据透视表工具→分析→选项→勾选“对于错误值显示”→确定方法②右键→数据透视表选项&#xff08;同样可以修改&#xff09;转载于:https://www.cnblogs.com/OliverQin/p/8043469.html

vue怎么让接口带上cookie_在Vue中怎么使用cookie 之 vue-cookies

cookie 在工作中比较常用, 可以自行封装一些 添加/删除/获取cookie的方法, 可参考这个在Vue中有个很好用的插件 vue-cookiesgithub地址&#xff1a;https://github.com/cmp-cc/vue-cookies我们具体来看下怎么使用这个插件的使用第一步&#xff1a;安装vue-cookienpm install vu…

php 微信分享链接怎么弄,PHP实现 微信--分享朋友链接

不是些高深知识,但是第一次做,确实费了很多的时间.终于一点一点的扣了出来. 目前已经使用中.解决这个问题,总共碰到了几次BUG,1是生成的签名不对,自己打印出来,在去微信的签名算法页面一一核对.这时候如果对了,还是不成功.那就是需要动态获取URL链接的.最后需要将 函数写在为微…

MySQL中整型和字符串类型指定长度的含义

引入&#xff1a; int(5)和char(5)或者varchar(5)中的数字指的是什么意思&#xff1f;是字节数&#xff0c;还是字符长度&#xff1f;为什么在整型中指定了int(5)却可以输入123456&#xff1f; 答案是后者&#xff0c;不管是整型还是字符串类型&#xff0c;后面跟的数字都是字符…

php网站开发项目实战,PHP动态网站开发项目实战

任务1 分析网站需求11.1 知识准备11.1.1 功能结构图11.1.2 用例图21.2 任务实现51.2.1 花公子蜂蜜网站项目功能结构分析51.2.2 花公子蜂蜜网站项目用例分析61.3 经验传递71.4 知识拓展8任务2 设计网站前台版面92.1 知识准备92.1.1 网站版面设计流程92.1.2 网站版面设计原则102.…

repo同步代码_工欲善其事,必先利其器:repo 介绍

介绍此repo非彼repo。这里的repo&#xff0c;是指谷歌公司的一款小工具&#xff0c;名字就叫repo(我承认&#xff0c;这不是一个好名字&#xff0c;Google里面怎么搜都搜不到它的真身)。解决的问题有时候&#xff0c;我们需要在一台电脑上克隆很多个代码仓库&#xff0c;编译它…

洛谷 P1754 球迷购票问题

P1754 球迷购票问题 题目背景 盛况空前的足球赛即将举行。球赛门票售票处排起了球迷购票长龙。 按售票处规定&#xff0c;每位购票者限购一张门票&#xff0c;且每张票售价为50元。在排成长龙的球迷中有N个人手持面值50元的钱币&#xff0c;另有N个人手持面值100元的钱币。假设…

php date函数实现,PHP date() 函数可实现的功能列表

date() 函数格式化本地日期和时间&#xff0c;并返回已格式化的日期字符串。date(format,timestamp);format 参数为必填&#xff0c;格式为何种格式timestamp 可选参数。规定整数的 Unix 时间戳。默认是当前的本地时间(time())。format参数如下&#xff1a;d - 一个月中的第几天…

ddd 企业应用架构模式_灵魂拷问:用了DDD分包就是落地了领域驱动设计吗?谈谈DDD本质...

学习DDD的时候&#xff0c;作为开发&#xff0c;我们更关心它在技术层面的东西&#xff0c;尤其体现在DDD的分包方式、编码技巧等方面。自然的&#xff0c;我们不禁发问&#xff0c;用了DDD的分包&#xff0c;就是实践落地了DDD了么&#xff1f;不卖关子&#xff0c;直接说答案…

java常见编码

摘自&#xff1a;http://www.cnblogs.com/yaya-yaya/p/5768616.html红色 主要点  灰色 内容 绿色 知识点 橘色 补充内容几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题&#xff0c;那就是为什么要编码&#xff1f;我们能不能不编码&#xff1f;要…

准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)

在机器学习、数据挖掘、推荐系统完成建模之后&#xff0c;需要对模型的效果做评价。业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等&#xff0c;下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。本文针对二元分类器&am…