{%hackmd BJrTq20hE %}
第 14 屆 iThome 鐵人賽 (2022)
Node.js的基礎是JavaScript指令瑪語言,Node.js的語法還是JS,只不過他封裝了一些類別庫,提供給開發者,其他由執行環境去處理。JS是一種指令瑪語言,指令瑪語言都需要一個解析器才能執行,寫在HTNL頁面裡的JS,對應的解析器就是瀏覽器。而對於需要獨立執行的JavaScript,Node.js本身就是一個解析器。
:::info
ECMAScript 6 標準
:::
ECMAScript 6 (以下簡稱ES6) 是JavaScript語言的標準,在2015年6月正式發布,ES6的目標是使的JS語言能被用來撰寫複雜的大型應用程式,成為企業級開發語言,ES6也是一個泛指,指的是5.1版以後的JS的下一代標準,涵蓋了ES2015、ES2016、ES2017等「下一代JavaScript語言」
1.宣告陣列語法:
資料型別 陣列名稱 = []
let arr = [1,2,3,4,5]
這邊是一些不常用到,但能夠了解陣列基本操作的語法,可以的話請過目,
往下滑我會講解常用的語法。
(1)arr.push()在陣列尾端增加元素,傳回值為增加完後的陣列長度,例如:
let arr = [1,2,3,4,5]
console.log(arr.push(5)) //6
console.log(arr) //{1,2,3,4,5,5}
(2)arr.pop()從陣列末端刪除元素,只能是一個,傳回值為刪除的元素
let arr = [1,2,3,4,5]
console.log(arr.pop) //5
console.log(arr()) //{1,2,3,4}
(3)arr.shift從陣列起始位置刪除元素,只能刪除一個,傳回值為刪除的元素
let arr = [1,2,3,4,5]
console.log(arr.shift()) //1
console.log(arr()) //[2,3,4,5]
(4)arr.unshift從陣列起始位置增加元素,傳回值是增加完後的陣列參數
let arr = [1,2,3,4,5]
console.log(arr.unshift(2)) // 6
console.log(arr) //[2,1,2,3,4,5]
(5) arr.splice(i,n)刪除從i(索引值)開始之後的元素,傳回值是被刪除的元素,參數i是索引值,n為個數,例如:
let arr = [1,2,3,4,5]
console.log(arr.splice(2,2)) //[3,4]
console.log(arr) //[1,2,5]
(6) arr.concat()連結兩個陣列,傳回值為連接後的新陣列,例如:
let arr = [1,2,3,4,5]
console.log(arr.concat(1,2)) //[1,2,3,4,5,1,2]
console.log(arr) //[1,2,3,4,5]
(7) arr.split()將字串轉換為陣列,例如:
let str = '12345'
console.log(str.split('')) //["1","2","3","4","5"]
(8) arr.sort()將陣列進行排序,傳回值是排序之後的陣列,預設是按照最左邊的數字進行排序的,不適按照數字大小排序的,例如:
let arr = [2,10,6,1,4,22,3]
console.log(arr.sort()) //[1,10,2,22,3,4,6]
let arr1 = arr.sort((a,b) => a-b)
console.log(arr1) //[1,2,3,4,6,10,22]
let arr2 = arr.sort((a,b) => b-a)
console.log(arr2) //[22,10,6,4,3,2,1]
(1) arr.values()檢查陣列建值:
let arr=[1,2,3,4]
let arr1 = arr.values()
for(let val of arr1){
console.log(val); //1,2,3,4
}
(2)arr.filter(callback)依據條件判斷陣列的元素是否全部滿足,是則為true。
let arr=[1,2,3,4,5]
let arr1 = arr.filter((i,v) => i<3)
console.log(arr1)
順帶一提 callback參數如下:
⬛value : 目前索引的值
⬛index : 索引
⬛array : 原陣列。
這篇基本上是讓之後處理函數與Module套件處理的時候用的,到時候可以透過ctrl+f來搜尋並把這裡當成一個備忘錄,這是我們這一天基本陣列的介紹。
下一篇 我們要來討論「函數」這個領域