for...in/for...each/for...of的区别

简介: for...in/for...each/for...of的区别

for in

针对json数组使用

for in 会便利属性上的每个属性名称,

实例

let array={fname:“Bill”,lname:“Gates”,age:56};
   for(let index in array) {  
        console.log(index,array[index]);  
    };  
    //index是fname、Iname、age
    //array[index]为Bill、Gates、56
let iterable = [3, 5, 7];
iterable.foo = "hello";
for (let i in iterable) {
  console.log(i);  //  0, 1, 2, "foo", 
}

forEach

数组时使用,json数组不行 ,没有返回值

参数唯一的时候,就是值本身。

array.forEach(v=>{  
    console.log(v);  
});
array.forEach(function(v){  
    console.log(v);  
});

参数两个的时候,第一个为元素,第二个为下标

let array = [0222, 2221, 231312, 3, 4, 5]
 array.forEach((item, index) => {
 console.log(item, index);
 });

d6bb7edccfe2d1de0989d141b935ecf.png

第三个参数为当前正操作的数组

let array = [1, 221, 4312, 34, 64, 58]
array.forEach((value, index, array) => {
  console.log(value)    //value为遍历的当前元素
  console.log(index)  //index为当前索引
  console.log(array)  //array为正在操作的数组
  console.log('------------------------------------')
}) 
array . forEach (( value , index , array )=>{
// value 为遍历的当前元素, index 为当前索引, array 为正在操作的数组// do something console . log ( value )
 console . log ( index ) console . log ( array )
 console .1og('----
// thisArg 为执行回调时的 this 
(6)[1,221,4312,34,64,58]
221

for of

在ES6中增加的循环,使用方法简单

let array = ['a', 'b', 'c', 'd', 'e', 'f']
for (let v of array) {
  console.log(v);    //v在这里就是每个元素了,
};
>
 let array =[' a ',
 for ( let v of array ){
 console . log ( v );
' b '," c ", d ',' e "," f "
// v 在这里就是每个元素了,
};
 a 
 b 
 c 
 d 
 e 
 f
 undefined 
let myString = "helloabc"; 
for(let char of myString ) { 
    console.log(char); 
}



目录
相关文章
|
3月前
|
索引
for each和for of的区别
for each和for of的区别
19 0
|
8月前
|
算法 Java Unix
C++基础语言之(二)C和C++的区别
C++基础语言之(二)C和C++的区别
|
9月前
#{} 和 ${} 的区别是什么?
#{} 和 ${} 的区别是什么?
36 0
|
11月前
|
安全 前端开发 Java
WebMvcConfigurationSupport 和 WebMvcConfigurer 区别你知道吗
WebMvcConfigurationSupport 和 WebMvcConfigurer 的使用过程中你是否踩坑了它们的区别是什么快来看看吧
337 0
|
安全
s=s+1,s+=1,++1,1++没有区别?
s=s+1,s+=1,++1,1++没有区别?
|
SQL Java 数据库连接
#{}与${}的区别
面试的时候经常碰到这样的题目:#{}和${}的区别是什么? 回答这样的问题首先要知道这两个符号是干嘛用的,然后再通过实例来解释两者的不同,这样才能更好的说服面试者。
88 0
|
JSON 数据格式
中writeValue和writeValueAsString的区别
writeValueAsString(obj):将传入的对象序列化为json,返回给调用者
@EnableEurekaClient上有@EnableDiscoveryClient区别
@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心。
905 0
|
容器 数据格式 XML
getMeasuredWidth和getWidth的区别
View的getWidth()和getMeasuredWidth()有什么区别吗? View的高宽是由View本身和Parent容器共同决定的。getMeasuredWidth()和getWidth()分别对应于视图绘制的measure和layout阶段。
1476 0