箭頭函式相比於一般函式,語法相當簡潔。除了少去 function 關鍵字,如果只有一個參數,箭頭函式可以省略括號;只有一行程式碼,就是直接簡單返回一個變數或簡單的表達式,可以省略大括號和 return。例子如下:
//一般函式計算平方用的寫法
const square = function (n) {
return n*n
}
//用箭頭函示取代function寫法
const square = (n) => {
return n*n
}
//用箭頭函示更精簡寫法,可以省略花括號和 return 關鍵字
const square = n => n * n
//結果
console.log(square(10))
//確認長度和陣列的新內容
const arrary = [1,2,3,4,5]
console.log(arrary.push(6)) // 輸出陣列的新長度,即 6
console.log(arrary)// 輸出陣列的新內容 [1, 2, 3, 4, 5, 6]
//確認數組中添加了元素
const arrary = [1, 2, 3, 4, 5]
arrary.push(6) // 將 6 加入到陣列末尾
console.log(arrary)// 輸出陣列的新內容 [1, 2, 3, 4, 5, 6]
//手動實現陣列反轉的方法
const arrary = [1, 2, 3, 4, 5]
const reverse = function (a) {
const temp = [] //建立一個空的arrary用來存儲反轉後的元素。
//使用一個 for 迴圈遍歷陣列
for (let i = a.length - 1; i >=0; i--) {
temp.push(a[i])//將當前元素 a[i] 加入到 temp中。temp 陣就會按照 a 的逆順序來存儲元素。
}
return temp //函數最後返回 temp 陣列,它現在包含了 a 的所有元素的逆順序
}
//調用 reverse 函數並印出傳入的 arrary 結果。
console.log(reverse(arrary) ) // 輸出將會是 [5, 4, 3, 2, 1]
//使用內建函式 .reverse()
const arrary = [1, 2, 3, 4, 5]
console.log(arrary.reverse() ) // 輸出將會是 [5, 4, 3, 2, 1]
const arrary = [1, 2, 3, 4, 5]
const squareArrary = arrary.map((n)=> n*n)
console.log(squareArrary) //輸出將會是[1, 4, 9, 16, 25]
const array = [1, 2, 3, 4, 5]
// 尋找第一個大於3的數字
const found = array.find(function(item) {
return item > 3
})
console.log(found)//輸出: 4
//用箭頭函示更精簡寫法,可以省略花括號和 return 關鍵字
const found = array.find(item => item > 3)
console.log(found) //輸出: 4
const array = [1, 2, 3, 4, 5]
// 過濾出大於3的數字
const filtered = array.filter(function(item) {
return item > 3
})
console.log(filtered)//輸出: [4, 5]
//用箭頭函示更精簡寫法,可以省略花括號和 return 關鍵字
const filtered = array.filter(item => item > 3)
console.log(filtered)//輸出: [4, 5]
const string = 'Hello World!'
//切割
console.log(string.split(" "))//輸出: ["Hello", "World!"]
const string = 'Hello World!'
//切片
//從索引 5 開始切片,一直到字符串的結束
console.log(string.slice(5))//輸出: [" World!"]
條件:"abcdef" => "fedcba"
使用到的函示:
const stringReverse = function (s) {
return s.split("").reverse().join("")
}
console.log(stringReverse("abcdef"))
//用箭頭函示更精簡寫法,可以省略花括號和 return 關鍵字
const stringReverse = s => s.split("").reverse().join("")
console.log(stringReverse("abcdef"))
條件:"Save time and money with the cloud platform loved by developers"
=> "developers"
使用到的函示:
const s = "Save time and money with the cloud platform loved by developers"
const findLongestWord = function (s) {
const words = s.split(" ")//用空白鍵來做分割
let longestWord = words[0]//假設第一個是最長的字,使用 let 來宣告
//用for迴圈來跑遍整個字串
for (let i = 1; i < words.length; i++) {
//比大小
if (words[i].length > longestWord.length) {
longestWord = words[i]
}
}
return longestWord
}
console.log(findLongestWord(s))// 輸出最長的單詞
const s = "Save time and money with the cloud platform loved by developers"
const findLongestWord = function (s) {
return s.split(" ").reduce((longest, words) => {
return words.length > longest.length ? words : longest
}, "");
}
console.log(findLongestWord(s))// 輸出最長的單詞