Здравствуйте. При использовании данной функции,взятой из этой темы(спасибо рони), очень часто выскакивает значение "undefined". Не могу понять, где я накосячил переделывая написанное рони в функцию.
function addArray(letterOfArray, arrayOfCorrelation) {
function usefloor(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var m = [],
s = [],
t = [];
var l = 9; //длина массива
var min = 1;
var max = 9;
//создание массива m с неуникальными элементами
for (var i = 0; i < l; i++) {
m[i] = usefloor(min, max)
}
var test = m;
//создание массива t из оставшихся элементов на случай замены
for (var i = 0; i <= (max - min); i++) {
s[i] = 1;
}
for (var i = 0; i < l; i++) {
s[m[i]] = 0;
}
for (var i = 0; i < s.length; i++) {
if (s[i] == 1) t.push(i)
}
test = t;
//проверка m на уникальность и замена повторяющихся элементов
for (var i = 0; i < l; i++) {
for (var k = i + 1; k < l; k++) {
if (m[k] == m[i] || m[k]=="undefined") {
n = usefloor(1, (t.length - 1));
m[k] = t[n];
t.splice(n, 1);
}
}
}
for (var i = 0; i < l; i++) {
var count = i + 1;
document.getElementById(letterOfArray + count).value = m[i];
}
var arrayOfCorrelation =this.arrayOfCorrelation= m;
return arrayOfCorrelation;
}
var arrayA;
addArray("a", arrayA);
addArray("b", arrayA);
addArray("c", arrayA);
addArray("d", arrayA);
addArray("e", arrayA);
addArray("f", arrayA);
addArray("g", arrayA);
addArray("h", arrayA);
addArray("i", arrayA);
document.write(arrayA);