【发布时间】:2014-11-26 03:54:02
【问题描述】:
我是 Javascript 编码的新手。我正在尝试对在 textarea 上输入的名称列表进行洗牌。用户选择所需的组数,并在单击时随机播放,然后将划分的组显示为输出结果。以下是我的代码,但它不能正常工作,请帮助!
<script>
function ArrayToGroups(source, groups){
var groupList = [];
groupSize = Math.ceil(source.length/groups);
var queue = source;
for(var r = 0; r < groups; r++){
groupList.push(queue.splice(0,groupSize));
}
return groupList;
}
function textSpliter(splitText){
var textInput = document.getElementById("inputText").value;
var splitText = textInput.split(',');
var newList = [];
for(x = 0; x <= splitText.length; x++) {
var random = Math.floor(Math.random() * splitText.length);
var p = splitText[random];
newList.push(p);
splitText.splice(p,groupList);
}
for(var i = 0; i < newList.length; i++){
var s = newList[i];
document.getElementById('resInput').value += s + "\n" ;
}
return splitText;
}
</script>
Below is my input and output textareas
</head>
<body>
<form>
<textarea id="inputText" placeholder="text" rows="10" cols="40"></textarea>
<input type="number" name="number" max="6" value="1" id="groupNumber">
<textarea id="resInput" placeholder="text" rows="10" cols="40"></textarea>
<input type="button" name="Shuffle" value="shuffle" onclick="textSpliter()">
</form>
</body>
</html>
【问题讨论】:
-
我编辑了代码,所以我的 html 代码与我的输入、输出和随机播放按钮也在那里。
-
用你的代码创建一个fiddle。给出一个示例输入,例如“Josh,Adam,Chris...”和示例输出(您希望如何对它们进行分组,最终结果)。
-
我的输出应该如下所示: 'group 1 - Thomas,Linda,Jonah group 2 - Andreas,Benjamin,Robin' 名称输入到文本区域。用户选择他想要的组数,然后 javascript 会将名称打乱并排序到组中,然后结果将显示在 ID 为 resInput 的第二个 textarea 上。
标签: javascript arrays list shuffle