這天約好的時間已經到了,草莓卻還沒出現。
「好奇怪呀,平常草莓都很早到的呀。」熊熊說。
突然熊熊的手機響了起來。
「喂~我是熊熊你好」
「是熊熊嗎?我是草莓啦,我還在路上再等我一下」
「沒關係~你慢慢來」
「對了熊熊,我想問個問題~」電話另ㄧ頭的草莓說
「你說吧!」
「之前我學到了怎麼拿出陣列的元素,也知道怎麼取得物件內指定的元素,可是我總不可能一直去更改索引值啊,所以有沒有一種方式可以讓我直接搜尋?」草莓問。
「你的意思是讓程式幫你找出那筆資料對嗎?」
「對~」
「沒有問題!我們先來看看之前羊咩咩的範例。」
var myGoat = [
{
name: "味愧羊",
age: 6,
color: "白色"
},
{
name: "太平羊",
age: 12,
color: "黑色"
}
];
「這裡你會需要學習一個新東西,叫做迴圈 (loop)。」
「迴轉壽司!」
「完全不對啦!」
「先來看看基本的語法。」
for(var i = 0; i < 4; i++) {
...
}
「那個 ++ 是什麼意思啊?」
「我們從一個開始解釋好了。首先是起始條件,這裡我們使用了一個變數 i,它預設會從 0 開始,第二個是終止條件,也就是說當變數 i 等於 4 的時候就會停下,最後的 i++ 則代表變數 i 的值會持續增加ㄧ,所以也可以改寫成 i = i + 1」
「了解~」
「回過頭來看,變數裡儲存著資料源,假設我們想要找到太平羊,我們可以這樣寫。」
var myGoat = [
{
name: "味愧羊",
age: 6,
color: "白色"
},
{
name: "太平羊",
age: 12,
color: "黑色"
}
];
for(var i = 0; i < myGoat.length; i++) {
if(myGoat[i]['name'] === '太平羊') {
console.log(myGoat[i]);
}
}
草莓看著視訊電話裡熊熊傳來的程式碼仔細閱讀著。
「所以迴圈會把我的資料全部跑過一遍,如果找到關鍵字符合的,就會把該筆資料回傳回來囉?」
「是的,所以當我們要過濾或是找出資料,迴圈都是個非常好用的工具喔!」熊熊說。
「迴圈雖然方便,但也要注意終止條件的設定,不然會不小心寫出無窮迴圈 (infinite loop) ,讓程式停不下來造成網頁崩壞喔!」熊熊補充說明著。
「是說草莓,你到底在忙什麼呀?你要到了嗎?」熊熊問。
「喔喔我在遛羊啊!我到了,你看店門口~」草莓說。
「原來是真的羊嗎!?你家怎麼塞得下這麼多隻羊 ...」熊熊傻眼地說。
明日待續~