因為一時之間還不知道要寫些什麼,所以打算把之前收集或使用過的 JS 陣列使用方法做個分類和記錄。P.S.我一邊打字一邊吃鳳梨(不重要)。
改變原本陣列的方法(純函數)
- shift() - 刪除陣列第一個值,回傳被刪去的值
- unshift(“值“) - 從陣列最前面新增一個值,回傳陣列長度
- pop() - 刪除陣列最後一個值,回傳被刪去的值
- push(“值“) - 從陣列最後面新增一個值,回傳陣列長度
- splice(“索引“) - 刪除包含這個索引之後的所有值,回傳被刪去的值陣列
- splice(“索引“, “數量“) - 刪除包含這個索引之後的多少個值,回傳被刪去的值陣列
- splice(“索引“, “數量“, “要新增的值“) - 除了刪除包含這個索引之後的多少個值,還可以加入要取得的值,數量不限,回傳被刪去的值陣列
- sort() - 將字母字串按照升冪排序,回傳排序後的陣列
- sort(compare fn(”a”, “b”)=> return a-b) -將數字陣列升冪排序,反之降冪,回傳排序後的陣列
- reverse() - 將陣列反轉排列,回傳排序後的陣列
- indexOf(“值“) - 回傳指定值在陣列中第一個被找到的索引,不存在則回傳 -1
- lastIndexOf(“值“) - 回傳在陣列中最後一個指定值的索引,不存在則回傳 -1
- includes(“值“) -判斷陣列是否包含指定值,回傳布林值
- length - 回傳陣列長度
- some(callback fn(”值”)=> 判斷式: 陣列中有一個符合就 true) - 回傳布林值
- every(callback fn(”值”)=> 判斷式: 陣列中全部符合就 true) - 回傳布林值
- forEach(callback fn(”值”, “索引”)) - 迴圈,沒有回傳值(undefined)
- fill(“要加入的值”, “開始索引”, “結束索引”) - 取代填滿,傳回被修改的陣列
- find(callback fn(”值”)=> 判斷式) -回傳符合條件的第一個值
另外新建陣列的方法(要用變數接住回傳值)
- toString() - 將整個陣列轉成一組字串,並用逗號做區隔
- join(“用啥分隔”) - 將整個陣列轉成字串之外,可另外設定要用什麼分隔
- reduce(callback fn(”累加值”, “目前值”)=> 累加 + 目前 , 預設值) - 累加值的作用取決於 callback fn 裡的運算,由左至右開始
- reduceRight(callback fn(”累加值”, “目前值”), 預設值) - 承上,由右至左
- map(callback fn(”值”, “索引”)) - 迭代迴圈,return 運算成新的陣列
- filter(callback fn(”值”, “索引”)) - 篩選,return 判斷成新的陣列
- slice(“開始索引”, “結束索引”) - 節錄取出陣列內容,從包含開始索引到不包含結束索引之內容
- concat(“要加入的陣列”) -結合兩個陣列,組合成一個新陣列
- from(“字串”, mapFn(參數) => 運算式) - 將字串轉成陣列,接上 mapFn 可以與 map() 一起執行