在做一个项目时,我遇到了这个问题,我的数组“slicetable”每次都返回未定义,我不知道如何解决这个问题。我有一个函数可以生成加密密钥长度的可能性数组 - 然后我需要将文本拆分为第 n 个密钥的单个字符串,直到“密钥”的长度。我已经在这个问题上工作了 4 个小时,但不知道从哪里开始。如果有人可以推荐一个解决此类问题的好策略,并帮助我解决这个问题,那就太好了——我对这一切还是很陌生。
function vigenerekey(text, max) {
// Standardize the text
text = text.split(" ").join("").toUpperCase();
// Obtain our list of key length probabilities
var probabilities = vigenerekeylength(text, max);
// Extend the Math.max to arrays
Array.max = function(array){
return Math.max.apply(Math, array);
};
// Find the position of the most probable key length
for (var d = 0; d <=12; d++) {
if (probabilities[d] === probabilities.max) {
return;
}
}
// Slice the text into [d] parts (the length of the key)
var slicetable = ['','','','','','','','','','','','','','','','','','','','',''];
var chiresults = [];
for (var e = 0; e <= d; e++){
for (f = 0; f <= text.length; f++) {
if (f % e === 0) {
slicetable[e] += text.charAt(f);
}
}
return slicetable;
}
}