// 定义接口,描述对象的类型
interface InputObject {
[key: string]: string,
}
// 定义函数,输入参数为InputObject类型的对象,输出参数为InputObject类型的对象
function deriveKeysAndValues(inputObject: InputObject): InputObject {
// 定义一个新的空对象
const outputObject: InputObject = {};
// 遍历输入对象的所有属性
for (const key in inputObject) {
// 将输入对象的每个属性从value改为小写,并且用'_'替换空格
const value = inputObject[key].toLowerCase().replace(/\s/g, '_');
// 将修改后的属性及值存入新对象
outputObject[key] = value;
}
// 返回新对象
return outputObject;
}
// 使用示例
const inputObject: InputObject = {
'First Name': 'John',
'Last Name': 'Doe',
'Age': '26'
}
const outputObject = deriveKeysAndValues(inputObject);
console.log(outputObject);
// 输出:{ 'First Name': 'john', 'Last Name': 'doe', 'Age': '26' }
以上代码会将输入对象的每个属性的值转换为小写,并将空格替换为下划线,然后将这些值存入输出对象的相应属性中。