我收到了这个警告:
WARNING - restricted index type
found : string
required: number
someArray[ index ].doSomething();
在关闭编译器升级到最新版本之后会发生这种情况。 看起来封闭编译器不推荐使用数组的字符串类型索引。
这个问题的推荐解决方案是什么?
顺便说一句。有没有办法禁用检查这些警告类型(我查看了CC标志列表,找不到任何东西)?
答案 0 :(得分:0)
如果索引变量的类型为string,则应首先解析它。 尝试
someArray[parseInt(index)].doSomething();
此外,我认为它首先是一个字符串的原因是它来自某个地方,如DOM属性或HTML输入。在使用之前,您可能希望确保该值有效。
const parsedIndex = parseInt(index);
if (isNaN(parsedIndex) || index < 0) {
throw 'Invalid index';
}
someArray[parsedIndex].doSomething();