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;
}
}
} |