首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不明白这段代码有什么问题

我不明白这段代码有什么问题
EN

Stack Overflow用户
提问于 2022-05-08 07:55:16
回答 1查看 37关注 0票数 -1

我的代码被使用了,因此它根据您想要生成的数量来生成随机的稀缺性,但是我仍然得到语法错误:

未定义

i

使用此代码:

代码语言:javascript
复制
var rarities = [
    'Common',
    'Uncommon',
    'Rare',
    'Epic',
    'Legendary',
    'Exotic',
    'Mythic'
]

let rarity = rarities[Math.floor(Math.random() * rarities.length)

function generateRarity(length, times){
    let numbers = [];
    for(i=0; i < times; i++){
        let number = Math.floor(Math.random() * length)
        numbers.push(number)
    }
    return numbers;
}

let indexArray = generateRarity(rarities.length, args) 
let generatedRarities = [];
indexArray.forEach(index => generatedRarities.push(rarities[index]))

sentrarities = "#".join(generatedRarities)

await message.reply(sentrarities)
EN

回答 1

Stack Overflow用户

发布于 2022-05-08 07:59:49

您得到这个错误仅仅是因为一个错误。当您声明let rarities时,在它的末尾缺少一个]。然后,JS尝试将函数包含在其中,但随后发现它不能,因此出现了错误。您所要做的就是将代码更改为:

代码语言:javascript
复制
var rarities = [
  'Common',
  'Uncommon',
  'Rare',
  'Epic',
  'Legendary',
  'Exotic',
  'Mythic'
]
let rarity = rarities[Math.floor(Math.random() * rarities.length)]

function generateRarity(length, times) {
  let numbers = [];
  for (i = 0; i < times; i++) {
    let number = Math.floor(Math.random() * length)
    numbers.push(number)
  }
  return numbers;
}

let indexArray = generateRarity(rarities.length, args)
let generatedRarities = [];
indexArray.forEach(index => generatedRarities.push(rarities[index]))

sentrarities = "#".join(generatedRarities)

await message.reply(sentrarities)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72159081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档