Loop對於程式來說非常非常非常之重要,手動一萬次跟電腦做一萬次效率差非常多,當然也沒有人會去做很hardcode的事情吧???
以下為Loop(迴圈)最常用到的三個語法。
話不多說,程式寫起來!!!
for(var i = 1; i < 10; i++) {
console.log(i)// 1 - 9
}
var i = 1
while(i < 10) {
console.log(i) //1 - 9
i++
}
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
這邊會介紹如何使用迴圈依序把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 */
}
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]...等效果。
const a = [1,2,3,4,6]
const result = a.map((numbers) => numbers > 2)
console.log(result); //[ false, false, true, true, true ]
const a = [1,2,3,4,6]
const result = a.filter((numbers) => numbers > 2)
console.log(result); //[ 3, 4, 6 ]
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 ]