【发布时间】:2015-02-26 16:25:26
【问题描述】:
我有一个由随机生成的 ASCII 字符组成的数组“A”...和一条消息“M”。我想将消息 M 的字符插入到数组 A 中,这样 M 的字符顺序是完整的……但随机分布在整个数组 A 中。
原始数组:zH$@%@$#@$@^^#@(%*$@^&@!$^%&
样本输出:zH$@%@^t$#@$@^^h#@(%*$@^&@i!$^%&s等...
var randomChars = [];
for(var i=33;i<127;++i) {
var letter = document.createElement('span');
letter.innerHTML = String.fromCharCode(i);
randomChars.push(letter);
}
var message = "this is a message";
var rand = 0;
for (var i = 0; i < message.split("").length; i++) {
rand = Math.floor((Math.random() * randomChars.length) + rand);
var letters = document.createElement('span');
letters.innerHTML = message.split("")[i];
letters.setAttribute("hidden","");
randomChars.splice(rand, 0, letters);
}
【问题讨论】:
-
我不明白您所说的“保持消息顺序”是什么意思。一旦你打乱了数组中的字母,下一步是什么?
-
随机分散保持消息的顺序是什么意思?像这样没有多大意义。
-
您必须发布源数据和结果的示例。
-
给定样本中的消息字符串在哪里?
-
看起来很奇怪,你的随机数不应该从 0 开始你的随机数应该从你输入的最后一个字母的最后一个位置开始
标签: javascript arrays random