我试着写判断字符串的函数.如果字符串包含重复符号,则该函数返回FALSE.如果字符串没有重复符号,则返回TRUE.这是我的try :
function isIsogram(str: string): boolean {
const lower = str.toLocaleLowerCase();
let db: Record<string, number> = {};
db = lower.split('').reduce((acc, item) => {
if (item in acc) {
acc[item]++; // error: Element implicitly has an 'any'
} else {
acc[item] = 1; // error: Element implicitly has an 'any'
}
return acc;
}, {});
return Object.values(db).every((i) => i === 1);
}
console.log(isIsogram('')); // true
console.log(isIsogram('Dermatoglyphics')); // true
console.log(isIsogram('isogram')); // true
console.log(isIsogram('aba')); // false
console.log(isIsogram('moOse')); // false
console.log(isIsogram('isIsogram')); // false
这是正确的工作代码,但是我从TypeScrip解析器收到以下错误消息:
元素隐式具有""any""类型,因为 "字符串"不能用于索引类型"{}".不带索引签名 在类型‘{}’上找到类型为‘STRING’的参数.(7053)
请帮我修改我的代码.我需要删除那个错误消息.但我需要使用即Reduce()函数.