美文网首页
JS之for循环

JS之for循环

作者: 黄金原野 | 来源:发表于2020-04-13 10:36 被阅读0次

JS的for循环主要包含如下几种:for(let i = 0; i < len; i++), for-in, for-of,for-each

至于第一种for循环,地球人都会,按下不表。难点在于for-infor-of, for-each直接有什么区别,看起来都差不多的样子。

一句话概述for-infor-offor-in遍历得到的是key值,适用于对象的遍历,for-of得到的是value值,适合数组的遍历。只要有 iterator 接口的数据结构,都可以使用 for-of循环,包括:Array, Map, Set, String, arguments对象, Nodelist对象

for-in

对象属性

获得的是属性值

var person ={
    name:"admin",
    age:"21",
    address:"shanghai"
};
for(var i in person){
    console.log(i)
}
// name, age, address
数组

获得的是对象的索引值

遍历的时候不要用这个!

var array =['admin','manager','db'];
for(var i in array){
    console.log(i)
}
// 0, 1, 2

当给数组的原型添加属性时,for in 会遍历到原型链上的属性

var array = ['admin','manager','db'];
Array.prototype.name = 'zhangsan';

for(var i in array){
    console.log(array[i])
}
// admin manager db zhangsan

for(var i in array){
    console.log(i)
}

这时候只要判断是不是本身所有的属性就行了

var array = ['admin','manager','db'];
Array.prototype.name = 'zhangsan';

for(var i in array){
    if(!array.hasOwnProperty(i)){
        continue
    }
    console.log(array[i])
}
// admin manager db

for-Each

数组

传入匿名的回调函数,匿名函数的参数为:当前项item,索引index(可省),当前数组array(可省)

array.forEach(callback(currentValue, index, array){
    //do something
})

array.forEach(function(element) {
    console.log(element)
})

for of

数组

for-of这个方法避开了for-in循环的所有缺陷

与forEach()不同的是,它可以正确响应break、continue和return语句

for( let i of arr){
    console.log(i);
}
map

map遍历与foreach类似,支持使用return语句,支持return返回值

var temp=arr.map(function(val,index){
  console.log(val);  
  return val*val           
})
console.log(temp); 

参考链接link

相关文章

  • JavaScript 04 (do...while循环/for

    js循环,js循环嵌套,js do...while循环,js的for循环,js中的break,js中的contin...

  • JS之for循环

    JS的for循环主要包含如下几种:for(let i = 0; i < len; i++), for-in, fo...

  • Js之循环小结

    do-while循环与while循环的区别 do-while先执行语句,然后再判断条件,无论条件成功与否总会先执行...

  • js循环之for、for in、for of、forEach

    公用数据: 标准for循环: for in 遍历索引: for of 遍历值: forEach: 总结: for ...

  • 前端性能优化

    js性能小贴士——优化循环 前端网页与js性能优化 我总结的js性能优化的小知识 提高 web 应用性能之 Jav...

  • 前端性能 优化 大全

    js性能小贴士——优化循环 前端网页与js性能优化 我总结的js性能优化的小知识 提高 web 应用性能之 Jav...

  • 为什么要用 setTimeout 模拟 setInterval

    在JS 事件循环之宏任务和微任务[https://www.zhangningle.top/articles/Per...

  • 【基础】循环

    循环 循环数组html {{item.content}} js /...

  • js之跳出多层循环

    aaa: //需要将循环命名 for(var i=0;i<10;i++){ for(var j=0;j<5;j+...

  • 前端js之循环遍历

    前言:js循环是最常见的用法,避免代码重复,有规则的子对象也更容易有规则操作,说白了就是好用,也慎用别写了个死循环...

网友评论

      本文标题:JS之for循环

      本文链接:https://www.haomeiwen.com/subject/nvzwmhtx.html