0%

JS 筆記 - 字串切割 substring()

JavaScript Note

這次遇到的字串切割問題,紀錄一下。

要解決的問題

從 API  取回一筆資料是日期字串,如:20210629,開出的需求是要符合設計稿的 2021/06/29,頓時不知道要用什麼方法,後來得知有一個字串分割的 substring(),查了一下 MDN。

substring()

語法如下:

1
substring(indexStart, indexEnd);

也就是針對字串直接使用,並且帶入兩個參數,序列是起始跟結束的地方,並且不能傳負數。

官方範例

1
2
3
4
5
6
7
const str = "Mozilla";

console.log(str.substring(1, 3));
// expected output: "oz"

console.log(str.substring(2));
// expected output: "zilla"
  1. 從第二個開始取,結束到第四個字串,得到 oz,代表第四個不會取到。
  2. 從第三個開始取,結果得到 zilla

由上方範例我得知,會取得起始字母,並會在結束前一個序列終止於結束字符。

解決問題

我要將目前字串 20210629 要先切成 20210629 三個字串,然後中間加上 /,並重新組合。

第一種寫法

1
2
3
4
5
6
7
let dateOrigin = "20210629";

let year = dateOrigin.substring(0, 4); //2021
let month = dateOrigin.substring(4, 6); //06
let day = dateOrigin.substring(6, 8); //29
let result = `${year}/${month}/${day}`;
console.log("result:", result); //2021/06/29

第二種寫法

1
2
3
4
5
let dateOrigin = "20210629";
let newdate = `${dateOrigin.substring(0, 4)}/${dateOrigin.substring(
4, 6)}/${dateOrigin.substring(6, 8)}`;

console.log("newdate:", newdate); //2021/06/29

參考資料