認識 JavaScript (十五)

更新於 發佈於 閱讀時間約 9 分鐘

※ 函式進階介紹:

  • 箭頭函式:

箭頭函式相比於一般函式,語法相當簡潔。除了少去 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))
raw-image

※ Javascript已經定義好的函示:

  1. Arrary(陣列)常用函式:
  • push:會修改原始陣列,將指定的元素添加到陣列的尾部
//確認長度和陣列的新內容
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]
  • reverse:用於顛倒一個陣列中元素的順序。這個方法會直接修改原始陣列。
//手動實現陣列反轉的方法
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]
  • map:讓陣列中每個元素執行完該函式後,結果回傳到一個新的陣列。
const arrary = [1, 2, 3, 4, 5]

const squareArrary = arrary.map((n)=> n*n)

console.log(squareArrary) //輸出將會是[1, 4, 9, 16, 25]
  • find():用於從一個數據中查找符合特定條件的元素,結果只會回傳第一個符合條件的值。
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
  • filter():經過迭代過濾完資料後 filter 會回傳一個新的陣列不會影響到原來的陣列資料。
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]
  1. String(字串)常用函式:
  • split():當我們輸入的文字檔時,可以利用split()切割字串。
const string = 'Hello World!'
//切割
console.log(string.split(" "))//輸出: ["Hello", "World!"]
  • slice():當我們輸入的文字檔時,可以利用slice()切片或擷取字串中特定部分。
  • 說明:只有一個參數時,該參數代表切割的起始點(包含該位置),切割將從該位置一直進行到字符串的末尾。
const string = 'Hello World!'
//切片
//從索引 5 開始切片,一直到字符串的結束
console.log(string.slice(5))//輸出: [" World!"]

※ 函示範例:字串顛倒(一)

條件:"abcdef" => "fedcba"

使用到的函示

  • string.split():切割字串
  • array.reverse():顛倒陣列
  • array.join():array內的東西連起來變成string
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"

使用到的函示

  • string.split():切割字串
  • .length:單字長度
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))// 輸出最長的單詞
  • Array.reduce() : 陣列累加,比大小 妙招。
  • 說明:可以讓陣列中的每個元素,透過提供的函數進行累計處理,將陣列化為單一值,常常拿來應用於陣列中每個元素的「累加」或是「比較」。
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))// 輸出最長的單詞
全端網頁開發專業知識分享
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
※ switch用法: ​switch是 JavaScript 中的一個控制結構,是一種更結構化的方法來替代多個 if...else 語句,特別是當需要根據同一變數的多個值進行不同操作時非常有用。 ※ switch語法: switch 語句首先評估括號內的表達式 (expression)。
※ 條件判斷語法 決策中需要處理分歧的狀況,就會用到「if」、「else if」、「else」。 ※ 語法結構: 條件式使用小括號(),裡面放判斷式。 要執行的程式碼放在大括號{}裡。 條件式只會有 true 或 false 兩種結果。 ※ 常用的比較運算子: > 大於 < 小於
※ 質數判斷 質數:除了1跟本身,沒有其他的因數。 因數:可以整除的數字。 用到的運算符號:「%」 mod 求餘數。 整除: mod完為0,沒有餘數。 ※ 使用for迴圈 let x = 97 // 可以修改成其他數值來測試 //flag標記 let isNotPrime = false
※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續) break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。 continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。 造成無限迴圈的例子: 說明: 當 x 的值
※ 何謂巢狀迴圈(NESTD LOOP): 指的是一個迴圈內包含另一個迴圈的結構。在程式設計中,這種結構常用於需要進行多層次迭代的場合,例如處理多維數組、逐行逐列處理表格資料等。 ※ 例子:九九乘法表 說明: 外層迴圈:for (let i = 1; i <= 9; i = i + 1) 這
※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
※ switch用法: ​switch是 JavaScript 中的一個控制結構,是一種更結構化的方法來替代多個 if...else 語句,特別是當需要根據同一變數的多個值進行不同操作時非常有用。 ※ switch語法: switch 語句首先評估括號內的表達式 (expression)。
※ 條件判斷語法 決策中需要處理分歧的狀況,就會用到「if」、「else if」、「else」。 ※ 語法結構: 條件式使用小括號(),裡面放判斷式。 要執行的程式碼放在大括號{}裡。 條件式只會有 true 或 false 兩種結果。 ※ 常用的比較運算子: > 大於 < 小於
※ 質數判斷 質數:除了1跟本身,沒有其他的因數。 因數:可以整除的數字。 用到的運算符號:「%」 mod 求餘數。 整除: mod完為0,沒有餘數。 ※ 使用for迴圈 let x = 97 // 可以修改成其他數值來測試 //flag標記 let isNotPrime = false
※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續) break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。 continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。 造成無限迴圈的例子: 說明: 當 x 的值
※ 何謂巢狀迴圈(NESTD LOOP): 指的是一個迴圈內包含另一個迴圈的結構。在程式設計中,這種結構常用於需要進行多層次迭代的場合,例如處理多維數組、逐行逐列處理表格資料等。 ※ 例子:九九乘法表 說明: 外層迴圈:for (let i = 1; i <= 9; i = i + 1) 這
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
本章節主要介紹Java語言中的函數(也稱為方法)的使用,包括函數的基本結構、函數表達式(Lambda表達式)、箭頭函數、匿名函數的使用,以及如何呼叫函數、如何使用函數參數和函數的返回值等內容。通過學習本章節,讀者將能夠熟練掌握Java語言中的函數相關知識,並能夠在實際編程中靈活運用。
Thumbnail
本章節旨在介紹TypeScript中的函數,包括其基本結構、如何呼叫函數、函數的參數以及函數的返回值等相關概念。通過本章節,讀者可以學習到如何在TypeScript中使用不同的方式來定義函數,如函數聲明、函數表達式、箭頭函數和匿名函數等。
Thumbnail
此章節旨在介紹TypeScript中的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子,以及他們的優先等級。每種運算子都以清晰的解釋和代碼範例進行詳細說明,幫助讀者理解並有效地在自己的程式碼中使用。
Thumbnail
了解這些運算子及其優先等級有助於更好地理解和編寫 JavaScript 代碼
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
JavaScript是一種具有動態型別、弱型別、原型繼承等特性的高級腳本語言,應用範圍廣泛,包括前端開發、後端開發、移動應用等。它被各種公司和開源社區廣泛使用。學習JavaScript需要掌握ECMAScript標準、異步編程、模塊系統等知識。
前言: 一直想要把自己的學習筆記整理整理,至少在寫下筆記的時候,也能釐清觀念。 結果拖延到現在,終於要提筆了,不知道能堅持多久(???)。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
本章節主要介紹Java語言中的函數(也稱為方法)的使用,包括函數的基本結構、函數表達式(Lambda表達式)、箭頭函數、匿名函數的使用,以及如何呼叫函數、如何使用函數參數和函數的返回值等內容。通過學習本章節,讀者將能夠熟練掌握Java語言中的函數相關知識,並能夠在實際編程中靈活運用。
Thumbnail
本章節旨在介紹TypeScript中的函數,包括其基本結構、如何呼叫函數、函數的參數以及函數的返回值等相關概念。通過本章節,讀者可以學習到如何在TypeScript中使用不同的方式來定義函數,如函數聲明、函數表達式、箭頭函數和匿名函數等。
Thumbnail
此章節旨在介紹TypeScript中的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子,以及他們的優先等級。每種運算子都以清晰的解釋和代碼範例進行詳細說明,幫助讀者理解並有效地在自己的程式碼中使用。
Thumbnail
了解這些運算子及其優先等級有助於更好地理解和編寫 JavaScript 代碼
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
JavaScript是一種具有動態型別、弱型別、原型繼承等特性的高級腳本語言,應用範圍廣泛,包括前端開發、後端開發、移動應用等。它被各種公司和開源社區廣泛使用。學習JavaScript需要掌握ECMAScript標準、異步編程、模塊系統等知識。
前言: 一直想要把自己的學習筆記整理整理,至少在寫下筆記的時候,也能釐清觀念。 結果拖延到現在,終於要提筆了,不知道能堅持多久(???)。