Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   рандомальное значение цвета (https://javascript.ru/forum/css-html/68861-randomalnoe-znachenie-cveta.html)

nwhta 14.05.2017 16:53

рандомальное значение цвета
 
помогите студенту написать рабочий код пожалуйста
задание:
написать программу выдающее рандомальное значение цвета в 16 ричном значении.

Код:

function RandomHex() {
    var mainStr;
    var hexRandomColor = {
        one: "1",
        two: "2",
        three: "3",
        four: "4",
        five: "5",
        six: "6",
        seven: "7",
        eight: "8",
        nine: "9",
        ten: "10",
        A: "A",
        B: "B",
        C: "C",
        D: "D",
        E: "E",
        F: "F"
    };
    var rc = function() {
        searchColor();
    }

    function searchColor() {
        var str = "";
        for (var i = 0; i < 6; i++)
            str += Math.random();
        return str;
    }
}

это мой класс

Код:

        var hex = new RandomHex();
        console.log(hex.rc);

что не так делаю, ткните плиз

рони 14.05.2017 17:16

nwhta,
поиск по форуму выдаст десятки вариантов

рони 14.05.2017 17:18

nwhta,
function RandomHex() {
    var hexRandomColor = "012345789ABCDF";
    function searchColor() {
        var str = "", index;
        for (var i = 0; i < 6; i++)
            {index = hexRandomColor.length * Math.random()|0;
            str += hexRandomColor.charAt(index);}
        return str;
    }
   return {rc : searchColor}
}
var hex = new RandomHex();
alert(hex.rc());

рони 14.05.2017 17:31

nwhta,
function RandomHex() {
    var hexRandomColor = "012345789ABCDF".split(""),temp, index, i;
    function searchColor() {
        for (i = 0; i < hexRandomColor.length; i++)
            {index = hexRandomColor.length * Math.random()|0;
            temp = hexRandomColor[i];
            hexRandomColor[i] = hexRandomColor[index]
            hexRandomColor[index] = temp
            }
        return hexRandomColor.splice(-6).join("");
    }
   return {rc : searchColor}
}
var hex = new RandomHex();
alert(hex.rc());
alert(hex.rc());

Diphenyl Oxalate 14.05.2017 20:19

Зачем всё так сложно?

function randomColor() {
	return Math.random().toString(16).slice(-6);
}

alert( randomColor() );

рони 14.05.2017 20:59

Diphenyl Oxalate,
вы в курсе, что эта функция способна выдавать ошибочные данные?

Diphenyl Oxalate 15.05.2017 04:11

рони, как? .slice(-6) всегда будет возвращать шесть символов

рони 15.05.2017 08:20

Diphenyl Oxalate,
например хром не лимитирует число цифр после запятой и возможны результаты с точкой типа 0.7fd


Часовой пояс GMT +3, время: 15:20.