Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 1x 1x 1x 1x 1x | /** * 任務:實作一個函式 `createObjectAccessor`,該函式接收一個物件,並回傳一個新的物件,該物件有兩個方法:get 和 set。 * get 方法用於獲取原物件的屬性值,set 方法用於設定原物件的屬性值。 * * 範例: * const obj = { name: 'John', age: 30 }; * const accessor = createObjectAccessor(obj); * accessor.get('name') 應該回傳 'John' * accessor.set('age', 31); * accessor.get('age') 應該回傳 31 * * @param obj - 一個物件 * @returns - 回傳一個物件,該物件有 get 和 set 兩個方法 */ export function createObjectAccessor<T>(obj: T) { // 請在此處寫下你的程式碼 return { get(key: keyof T) { return obj[key]; }, set(key: keyof T, value: T[keyof T]) { obj[key] = value; } } } |