【问题标题】:Parameter 'array' implicitly has 'any' type. What does this mean?参数 'array' 隐含地具有 'any' 类型。这是什么意思?
【发布时间】:2021-11-23 20:32:23
【问题描述】:
var milkResponses: string[] = ["I like milk", "mmmm"];
function randomArrayShuffle(array) {
    var currentIndex = array.length, temporaryValue, randomIndex;
    while (0 !== currentIndex) {
      randomIndex = Math.floor(Math.random() * currentIndex);
      currentIndex -= 1;
      temporaryValue = array[currentIndex];
      array[currentIndex] = array[randomIndex];
      array[randomIndex] = temporaryValue;
    }
    return array;
  }

我想要做的是随机化一个字符串数组,例如 milkResponses,但是数组参数有一个错误,表明参数“数组”隐含地具有“任何”类型。我不确定这意味着什么。我认为是因为我把数组弄错了?

感谢帮助

【问题讨论】:

  • 表示你没有声明参数array的类型。
  • 即改成:function randomArrayShuffle(array: string[]) {

标签: javascript arrays typescript


【解决方案1】:

如果没有任何东西在 TypeScript 中显式设置某事物的类型,或者 TypeScript 推断该类型的可靠方法(例如,通过创建一个变量并立即将其设置为一个值),那么 TypeScript 将隐式地给它类型any。默认情况下,TypeScript 配置为不允许编译包含任何隐式 any 的代码,这就是您看到此错误的原因。

因为它是一个没有默认值的函数参数,所以您需要明确指定它的值。看起来您的函数可以对包含任何内容的数组进行操作,因此您可能想使用function randomArrayShuffle(array: any[]) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    相关资源
    最近更新 更多