【发布时间】:2022-01-24 06:07:06
【问题描述】:
我的代码功能在我以前的项目之一中运行良好,当我尝试将它复制到另一个项目时,它开始给我以下错误。我不知道这是什么意思。有人可以建议需要进行哪些更改才能使其正常工作
我的第一个猜测是 TS 版本或 tslint。
元素隐含地具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“对象”。 在“对象”类型上找不到带有“字符串”类型参数的索引签名。ts(7053)
private convertDates(object: Object) {
if (!object || !(object instanceof Object)) {
return;
}
if (object instanceof Array) {
for (const item of object) {
this.convertDates(item);
}
}
var dateRegex = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)$/; ///^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/;
for (const key of Object.keys(object)) {
const value = object[key];
if (value instanceof Array) {
for (const item of value) {
this.convertDates(item);
}
}
if (value instanceof Object) {
this.convertDates(value);
}
if (typeof value === 'string' && dateRegex.test(value)) {
object[key] = new Date(value);
}
}
}
【问题讨论】:
标签: angular typescript