2
回答
jS实现三位随机数字的输出 用户输入匹配正确个数
开发十年,就只剩下这套Java开发体系了   

想要输出三位数字 个十百位数字不相同 百位可为0 

输出数字与用户输入数字进行匹配 提示数字真假 输出1A0B表示某数字位置以及数字都正确

输出1A1B表示1个数字位置以及数字正确  另一个数字正确但位置不对

3A0B则为全对 此时输出答对

思路都有 但是不会写  望指教

<无标签>
举报
hotmilk
发帖于2年前 2回/549阅
共有2个答案 最后回答: 2年前
function getNumber(len){
    var number = "0123456789";
    var result = "";
    for(var i=0;i<len;i++){
        var val =number[parseInt(Math.random()*number.length,10)];
        number = number.replace(val,"");
        result+=val;
    }
    return result;
}
console.log(getNumber(3))
function check(data,input){
    console.log(data);
    if(data.length!=input.length){
        throw new Error("用户输入的长度不匹配");
    }
    var map = {true:0,false:0};
    var loc = {};
    for(var i=0;i<data.length;i++){
        map[data[i]==input[i]]++;
        loc[i]=data[i]==input[i];
    }
    return {count:map,loc:loc};
}
console.log(check("102","153"));
console.log(check("103","153"));
console.log(check("152","153"));
console.log(check("153","153"));
console.log(check(getNumber(3),"153"));
console.log(check(getNumber(3),""));


 

 
看一下,丢到浏览器里面运行一下,看看是不是你想要的



顶部