-1

我正在构建一个随机拼写测验,它工作正常。为了使它更好,我想添加很多单词,但如果我这样做十个,我只希望用户正确拼写其中的 10 个单词。我的问题是我从哪里开始?

4

1 回答 1

1

假设你有你的话在一个列表中:

var words:Array = ['chicken', 'pig', 'cow', 'sheep'];

随机排列单词列表

Fisher-Yates实现取自http://bost.ocks.org/mike/shuffle/

function shuffle(array) {
  var m = array.length, t, i;

  // While there remain elements to shuffle…
  while (m) {

    // Pick a remaining element…
    i = Math.floor(Math.random() * m--);

    // And swap it with the current element.
    t = array[m];
    array[m] = array[i];
    array[i] = t;
  }

  return array;
}

var shuffledWords:Array = shuffle(words);
trace(shuffledWords); // Prints ['sheep', 'chicken', 'cow', 'pig']

取一片

var selectedWords = shuffledWords.slice(0, 2);
trace(selectedWords); // Prints ['sheep', 'chicken']

在这种情况下,切片仅包含两个元素,但您可以将其更改为 10 或您想要的任何数字。

现在您可以使用单词 inselectedWords来进行拼写测验。

于 2012-11-24T21:56:30.110 回答