Day 4 - 陣列與物件
2025 TypeScript 實戰課,一天學一點積沙成塔
Topic
第一大題:選擇題
第二大題:實作
大題一:選擇題
-
在 TypeScript 中,以下哪個是正確宣告數字陣列的方式?
- A.
let numbers = [1, 2, 3]; - B.
let numbers: number[] = [1, 2, 3]; - C.
let numbers: Array = [1, 2, 3]; - D.
let numbers: [number] = [1, 2, 3];
- A.
-
以下哪種方法可以用來向 TypeScript 陣列中添加新元素?
- A. append()
- B. push()
- C. add()
- D. insert()
-
如何宣告一個包含字串和數字的 TypeScript 陣列?
- A.
let values: [string, number] = ["Hello", 5]; - B.
let values: (string | number)[] = ["Hello", 5]; - C.
let values: Array<string, number> = ["Hello", 5]; - D.
let values: string & number[] = ["Hello", 5];
- A.
-
在 TypeScript 中,pop() 方法的用途是什麼?
- A. 刪除陣列的第一個元素。
- B. 刪除陣列的最後一個元素。
- C. 在陣列的開頭添加一個元素。
- D. 在陣列的末尾添加一個元素。
-
以下哪個是 TypeScript 中宣告多維陣列的正確方式?
- A.
let matrix: number[][] = [[1, 2], [3, 4]]; - B.
let matrix: Array<number> = [[1, 2], [3, 4]]; - C.
let matrix: number[] = [[1, 2], [3, 4]]; - D.
let matrix: [number, number][] = [[1, 2], [3, 4]];
- A.
點擊查看解答
- B.
let numbers: number[] = [1, 2, 3]; - B. push()
- B.
let values: (string | number)[] = ["Hello", 5]; - B. 刪除陣列的最後一個元素。
- A.
let matrix: number[][] = [[1, 2], [3, 4]];
大題二:實作題
- 寫一個 calculateSum 函式,該函式接受一個數字陣列作為參數並回傳它們的總和。
- 定義一個 TUser 型別,為一個由物件組成的陣列,物件中的屬性包含:id 為數字型別、name 為字串型別、address 為可選屬性,內容是字串型別或 null。/ 創建一個 user 陣列帶入任意資料以符合該型別定義。
- 寫一個 mergeArrays 函式, 來合併兩個相同型別的字串陣列,並回傳一個包含兩個陣列所有元素的新陣列。
//第一題
type TCalculateSum = (numbers: number[]) => number;
const calculateSum : TCalculateSum = (numbers) => {
return numbers.reduce((accumulator, item) => accumulator + item,0)
}
//第二題
type TUser = {
id: number;
name: string;
address?: string | null;
}
const UserList: TUser[] = [
{
id: 1,
name: "Clove",
address: "123 Maple Street, Springfield, IL 62704"
},
{
id: 2,
name: "Ted",
address: "456 Oak Avenue, Suite 200, Metropolis, NY 10012"
},
{
id: 3,
name: "MoMo"
}
]
//第三題
type TMergeArrays = (arr1: string[], arr2: string[]) => string[];
const mergeArrays: TMergeArrays = (arr1, arr2) => {
return [...arr1, ...arr2];
}
備註
回到每日任務列表