【发布时间】:2019-11-15 14:51:39
【问题描述】:
我正在学习打字稿,但我不知道如何解决这个问题。
我的目标是在一些随机文本中找到一个 key: string 并将其替换为 value: string。
export class Smiley {
private smiley: {[key: string]: {value: string}} = {
':-)': '°>sm_00...b.pw_18.ph_18.gif<°',
':-(': '°>sm_03...b.pw_18.ph_18.gif<°',
':-|': '°>sm_13...b.pw_18.ph_18.gif<°',
':-D': '°>sm_10...b.pw_18.ph_18.gif<°',
':-O': '°>sm_06...b.pw_18.ph_18.gif<°',
};
tbsmiley(str: string): string {
const obj = this.smiley;
Object.keys(obj).forEach((key) => {
const ind = str.indexOf(key);
if ( ind >= 0 ) {
str = str.substring(0, ind) + obj[key] + str.substr(ind + key.length);
return str;
}
});
return str;
}
}
类型 'string' 不能分配给类型 '{ value: string; }'。 预期类型来自此索引签名。
【问题讨论】:
标签: typescript