【发布时间】:2021-10-14 11:16:14
【问题描述】:
所以我正在制作一个函数,它接收一个对象并从中创建一个字符串。 输入函数的对象类似于:
testMessage: {
alertMessagePreObject0: "Example Text "
alertMessageObject0: "examples"
alertMessageKey0: "exampleA"
alertMessagePostObject0: "End of Example"
}
而我目前的功能是:
handleAlertBody(messageToHandle):string{
let messageBody: string = '';
if(messageToHandle['alertMessageObject0']){
let objectToRead = messageToHandle['alertMessageObject0'];
let objectKey = messageToHandle['alertMessageKey0'];
let insertion = objectToRead[objectKey];
messageBody += messageToHandle + messageToHandle['alertMessagePreObject0'] + insertion + messageToHandle['alertMessagePostObject0'];
} else {
messageBody = 'no object provided';
}
return messageBody;
}
如果我在名为 examples 的类中有一个现有对象,例如 examples[exampleA] = "middle text",那么我希望我的函数在调用 handleAlertBody(testMessage) 时返回“Example Text middle text End of Example”。但是,它当前返回“示例文本未定义示例结束”。我知道这是因为类中不存在示例,只有 this.examples 存在。我尝试将插入定义为let insertion = this.objectToRead[objectkey] 的行更改,但它显然会引发错误,因为在名为 objectToRead 的类中没有定义任何内容。有没有办法将“examples”字符串转换为this.examples的实例变量?或者是否有另一种方法来实现上述目标的预期结果?谢谢!
【问题讨论】:
标签: angular string typescript instance-variables