Day07-Loop

前言

Loop对於程序来说非常非常非常之重要,手动一万次跟电脑做一万次效率差非常多,当然也没有人会去做很hardcode的事情吧???

以下为Loop(回圈)最常用到的三个语法。

  • for
  • while
  • do while

话不多说,程序写起来!!!

for loop

for(var i = 1; i < 10; i++) {
  console.log(i)// 1 - 9
}

while loop

var i = 1

while(i < 10) {
  console.log(i) //1 - 9
  i++ 
}

do while

do while

var i = 1

do{
  console.log(i)
} while(i == 0) 

do while比较特别点在於,就算判断式不成立,依然会执行一次,而while 与 for则是不成立,即不执行

接下来我们就来练习怎麽做计数器吧

var temp = 0
for(var i = 1; i <= 10; i++) {
  temp = temp + i
  //也可以写成
  temp += i
}
console.log(temp)//55

简便的loop

for in

  • 适用於object

这边会介绍如何使用回圈依序把object或array读取出来

首先for ... in 主要是针对object的key,以下我们先用item带入user,可以看出console.log出来都是user的key

var user = {
  name: 'Ian',
  age: 22,
  sex: 'male'
}

for(item in user){
  console.log(item)
  /* name age sex*/
}

有上面的key值之後,聪明如你,就知道怎麽带入key印出value了吧

var user = {
  name: 'Ian',
  age: 22,
  sex: 'male'
}

for(item in user){
  console.log(user[item])
  /* Ian 22 male */
}

for of

  • 适用於array中
var tempArr = ['apple','banana','watermelon','guava','pinapple']

for(let i of tempArr) {
  console.log(i) 
  /*
  apple
  banana
  watermelon
  guava
  pinapple
  */
}

但要印出array中的值也可以使用for做处理,也是大家很常用到的
var tempArr = ['apple','banana','watermelon','guava','pinapple']

for(var i=0; i < tempArr.length; i++){
  console.log(tempArr[i])
  /*
  apple
  banana
  watermelon
  guava
  pinapple
  */
}

上面的写法,首先for里面的判断从0开始很正常,因为对象是array,然後若i小於array.length,i++,
并且透过把变数带入array中达成依序输出array[0],array[1]...等效果。

map

  • 回传新的阵列
const a = [1,2,3,4,6]

const result = a.map((numbers) => numbers > 2)
console.log(result); //[ false, false, true, true, true ]

filter

  • 依序比对,若为true即回传
const a = [1,2,3,4,6]

const result = a.filter((numbers) => numbers > 2)
console.log(result); //[ 3, 4, 6 ]

reduce

syntax

reduce((preventValue, init) => {...})
const a = [1,2,3,4,6]
let init = 0
const result = a.reduce((numbers,init) => init += numbers)
console.log(result); //[ 3, 4, 6 ]

/images/emoticon/emoticon08.gif


<<:  从零开始学 3D 游戏设计:入门程序实作 Part.1 死亡岩浆

>>:  Day 7 - 文字使用方式

[DAY 29] Q&A 谘询系统 - 程序开发(Forms)

最後来到了回覆问题的页面啦 长得不是很好看,但还没想到怎麽修改它 (´◓Д◔`) 欢迎大家提供意见!...

[Day10] Vite 出小蜜蜂~Function Composition!

Day10 接下来,要帮 Squid 也装上 Laser, 敌人的 Laser 跟我们的外观是不一样...

ASP.NET MVC 从入门到放弃(Day21)-MVC查询资料介绍

接下来讲讲查询 部分... Controller public ActionResult Index...

Day 9. Hashicorp Nomad: Task dependencies

Hashicorp Nomad: Task dependencies 之前遇到一个情境,是在启动跑报...

[Day12]ISO 27001 标准:验证范围

其实 ISO 系统都是通用的,从 ISO 9001、 ISO 14001、 ISO 50001、IS...