【发布时间】:2016-10-12 12:04:47
【问题描述】:
我有以下任务要执行。我得到一个字符串,我必须将其反向写入,并将单词随机化以形成 5 个不同的字符串。我已经设法将字符串反向编写并随机化单词,但我无法做到 5 次。这是代码。
var x = "Lorem ipsum dolor sit amet";
var wordsArray = x.split(" ");
function wordsReverse(allWords){
var otherArray = [];
for ( var i = allWords.length-1; i >= 0; i--) {
otherArray.push(allWords[i]);
}
return otherArray;
}
function createRandomText(text){
var randomArray = [];
var randomText = null;
for ( var j = 0; j < 5; j++) {
for ( var k = 0; k < text.length; k++) {
randomText = text[Math.floor(Math.random()*text.length)];
if ( text[randomText] === undefined ) {
randomArray.push(randomText);
text[randomText] = true;
}
}
}
return randomArray;
}
console.log(wordsReverse(wordsArray).toString().replace(/\,/g, ' '))
console.log(createRandomText(wordsArray).toString().replace(/\,/g, ' '))
感谢您的帮助。
【问题讨论】:
-
你为什么要这样做 ->
.toString().replace(/\,/g, ' '))而不是.join('')?,你每次都从数组中删除元素,所以什么都没有了。所以你可能想先克隆阵列,然后解决这个问题。或者创建一个 Object 文字来存储您使用的内容。
标签: javascript string random