var getArrStr = {
dataArr: [],
getConfig: function (dataNum, maxNum)
{
getArrStr.dataArr = [];
if
(dataNum > maxNum || dataNum <= 0)
{
return "输入的数据有误!";
} else
{
getArrStr.setConfig(dataNum,
maxNum);
return
getArrStr.dataArr.toString();
}
},
setConfig: function (dataNum, maxNum) {
//生成数组单个数据
var data =
parseInt(Math.random() * maxNum);
if
(getArrStr.dataArr.length < 0) {
getArrStr.dataArr.push(data);
getArrStr.setConfig(dataNum,
maxNum);
} else
{
if (getArrStr.dataArr.length
>= dataNum) {
return false;
} else {
var hasThis = getArrStr.checkConfig(data,
getArrStr.dataArr);
if (hasThis != "-1") {
getArrStr.setConfig(dataNum, maxNum);
} else {
getArrStr.dataArr.push(data);
getArrStr.setConfig(dataNum, maxNum);
}
}
}
},
checkConfig: function (needle, arr)
{//检查生成的数据是否重复,重复返回下标,不重复返回-1;
var type =
typeof needle;
if (type
== 'string' || type == 'number') {
for (var i in arr)
{
if (arr[i] == needle) {
return
i;
}
}
}
return
"-1";
}
};
window.onload =
function () {
//生成答案1;
document.write(getArrStr.getConfig(1,
18));//生成的数组长度,数组范围
}