首页 > 解决方案 > 生成随机的单词串

问题描述

我很难创建要在打字速度测试中使用的随机单词串。

我写的字符串生成器文件如下:

const WordGenerator = () => {
  const WordBank = [
    'difficulty',
    'never',
    'furniture',
    'thus',
    'transportation',
    'opportunity',
    'beautiful',
    'exactly',
    'standard',
    'kept',
    'baseball',
    'perfectly',
    'term',
    'egg',
    'must',
    'fix',
  ];
  let result = '';
  
  for (let i; i <= 200; i++) {
    result = result.concat(WordBank[Math.floor(Math.random() * 16)], ' ');
  }
  
  return result;
};

console.log(WordGenerator());

出于某种原因,当我 console.log 时,它返回一个空字符串。我希望从单词库中获得一串 200 个随机单词。

有什么建议么?

ps:我不得不从单词库中删除单词,因为堆栈溢出不允许我有这么多代码,我最初在单词库中使用了 250 个单词。

标签: javascriptarraysstring

解决方案


您的问题是: 1- 在 for 循环中,您没有将变量 i 初始化为从 0 开始:

 for (let i ▶️= 0 ◀️; i <= 200; i++) 

2-获取随机索引时为什么使用(250),您需要使用数组长度:

const WordGenerator = () => {
  const WordBank = [
    'difficulty',
    'never',
    'furniture',
    'thus',
    'transportation',
    'opportunity',
    'beautiful',
    'exactly',
    'standard',
    'kept',
    'baseball',
    'perfectly',
    'term',
    'egg',
    'must',
    'fix'
  ]

  let result = ''
  for (let i = 0; i <= 200; i++) {
    result = result.concat(WordBank[Math.floor(Math.random() *  WordBank.length)] +' ')
  }
  return result
}

console.log(WordGenerator());


推荐阅读