资讯专栏INFORMATION COLUMN

浅谈for的家族成员

yanest / 2740人阅读

摘要:日常的代码编写中总少不了实现循环的需求,当你需要对代码块执行多次相同或类似的操作时就要用到循环,其中使用占比最多的当然是循环,今天来对这个强大的家族做做小总结最基础最常用同样也是功能最强大的当然是循环本身了,来看看基本结构声明循环变量循环的

日常的代码编写中总少不了实现循环的需求,当你需要对代码块执行多次相同或类似的操作时就要用到循环,其中使用占比最多的当然是for循环,今天来对这个强大的for ‘家族’ 做做小总结

for
最基础最常用同样也是功能最强大的当然是for循环本身了,来看看基本结构
for(声明循环变量;循环的条件;修改循环变量){ 循环执行的代码块 }
=>   for(let i;i

来个例子:

var arr = [];
for(let i=0;i<5;i++){
    arr.push(i);
}
console.log(arr);    //[0,1,2,3,4]

for的优点:

可控性强,能做的操作多,你可以在这个代码块中书写复杂的循环条件,以致来修改或达到你所需的效果

缺点:

相对后面要说的循环方式代码较为繁琐,不够简易,比如操作数组的时候,大多时候是针对下标或者内容,而不是实现复杂的业务逻辑
for in
for in用于循环对象属性,当需要遍历一个对象或关联数组,去获取他们每一项的内容或者对其进行操作时,常用到for in,
普通的循环只能遍历索引数组,即下标为数字的数组,而关联数组则是自定义下标名称的数组,
循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
for(变量/下标 in 数组/对象){ 循环执行的操作 }
=>   for(var key in arr){ ... }

来个例子:

var score=[76,80,86,73,92];
var sum=0;
for(var key in score){
    sum+=score[key];
}
console.log(sum);   // 407
适合用来操作关联数组而不是索引数组
forEach
forEach是数组的一个API,如果仅遍历数组而不需要没有返回值,
或仅对原数组中的元素执行修改操作,不需要返回新数组时,
forEach是一个不错的选择,它可以获得数组的下标和内容
arr.forEach(当前内容,下标,数组){ ... }
=>   arr.forEach(elem,i,arr){ ... }
// 根据需要选择参数的个数

来个例子:

var nums=[1,2,3,4,5];
nums.forEach(function(elem,i,arr){
  arr[i]*=2;
})
console.log(nums);    //2,4,6,8,10
优点:既可以获得元素的下标,又能修改元素的内容
缺点:无法控制遍历时候的顺序,是数组API,比如arguments之类的类数组对象使用不了
for of
ES6新增的极简化for循环,常用于遍历索引数组
for(var 数组中的当前元素 of 数组){ ... }
=>   for(var elem of arr){ ... }

来个例子:

var names=["Tom","Alex","Pand"]
for(var name of names){//遍历索引数组
  //of依次取出names数组中每个人名保存到前边的变量name中
  console.log(name + " - 到!");
}
// Tom - 到!
// Alex - 到!
// Pand - 到!
优点:书写简化的for循环,可以控制遍历的顺序
缺点:只能获取元素内容,无法获取下标

以上就是我的一下小总结,主要通过这次整理让自己回顾一下概念知识,欢迎指正错误

不努力
就淘汰

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104290.html

相关文章

  • SAP成都C4C小李探花:浅谈Fiori Design Guidelines

    摘要:李寻欢是风云第一刀书中第一高帅富。设计规范也将详细规定何时何地使用何种控件,并提供详细视觉设计稿,以便开发人员准确理解,避免歧义。而就在不久前,官宣停止对这个版本的维护,因此这个版本已经正式退出历史舞台。 Jerry: 我和周帅认识不久,自去年7月SAP成都研究院Cloud for Customer(以下简称为C4C)开发团队组建至今,根据这段时间和周帅愉快的合作经历,我觉得如果把周帅...

    xuexiangjys 评论0 收藏0
  • SAP成都C4C小李探花:浅谈Fiori Design Guidelines

    摘要:李寻欢是风云第一刀书中第一高帅富。设计规范也将详细规定何时何地使用何种控件,并提供详细视觉设计稿,以便开发人员准确理解,避免歧义。而就在不久前,官宣停止对这个版本的维护,因此这个版本已经正式退出历史舞台。 Jerry: 我和周帅认识不久,自去年7月SAP成都研究院Cloud for Customer(以下简称为C4C)开发团队组建至今,根据这段时间和周帅愉快的合作经历,我觉得如果把周帅...

    Kosmos 评论0 收藏0
  • SAP成都C4C小李探花:浅谈Fiori Design Guidelines

    摘要:李寻欢是风云第一刀书中第一高帅富。设计规范也将详细规定何时何地使用何种控件,并提供详细视觉设计稿,以便开发人员准确理解,避免歧义。而就在不久前,官宣停止对这个版本的维护,因此这个版本已经正式退出历史舞台。 Jerry: 我和周帅认识不久,自去年7月SAP成都研究院Cloud for Customer(以下简称为C4C)开发团队组建至今,根据这段时间和周帅愉快的合作经历,我觉得如果把周帅...

    李昌杰 评论0 收藏0

发表评论

0条评论

yanest

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<