Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
var get_color = function (value) {
value = parseInt(value);
if (10 >= value)
return "#2a00f4";
if (20 >= value && value > 10)
return "#0059ff";
if (30 >= value && value > 20)
return "#00d3ff";
if (40 >= value && value > 30)
return "#00ffb6";
if (50 >= value && value > 40)
return "#10f800";
if (60 >= value && value > 50)
return "#bafc01";
if (70 >= value && value > 60)
return "#fefa00";
if (80 >= value && value > 70)
return "#ffca00";
if (90 >= value && value > 80)
return "#ff8900";
if (value > 90)
return "#ff2900";
};
Если бы кто помог это написать правильно - сказал бы спасибо)
На ГК не принято отвечать на посты вроде "оцинити код" нормальным кодом (это же ГК), за нормальным кодом надо ходить на SO. Я же даже явно написал:
>> раунд специальной олимпиады
>>1. Массив внутри функции объявлять - такое себе, да ещё и через var.
>В чем проблема-то?
Никто не обещал, что он будет статическим. Хотя, в реальности могли бы и оптимизировать, т.к. внутри функции легче за переменной уследить.
А че тут минус, а табличным высерам плюсы? Вы сами себя представьте на месте другого человека, который потом будет поддерживать хотя бы 10к строк такого кода. Вам самим не лень было бы постоянно разбираться в делениях и массивах, когда есть дофига куда более важных дел? Принципиального профита табличный метод не несет - размер кода асимптотически такой же (линейный по количеству кейсов), менять кейсы не проще и не сложнее. Он просто более запутанный. Простые вещи надо делать просто.
А если нельзя то хотя-бы через дикшанари с ренджами описать декларативно
есть некая проблема, не?
1. Массив внутри функции объявлять - такое себе, да ещё и через var.
2. Где проверка на число или parseInt() / Number() ?
Разумеется! Нуб штоле?
На ГК не принято отвечать на посты вроде "оцинити код" нормальным кодом (это же ГК), за нормальным кодом надо ходить на SO. Я же даже явно написал:
>> раунд специальной олимпиады
#вореции
надо плагин на jquery чтобы был
Вставьте после определения массива следующее:
В чем проблема-то?
>2. Где проверка на число или parseInt() / Number() ?
как она должна выглядеть? Что делать если не число?
>В чем проблема-то?
Никто не обещал, что он будет статическим. Хотя, в реальности могли бы и оптимизировать, т.к. внутри функции легче за переменной уследить.
1) размер которого задан на этапе компиляции
2) и не может быть изменен
Хотя, можно просто указатель на массив сделать статическим, а массив наполнить до выполнения скрипта.
Все значения в массив, value приводишь к индексу поделив на 10, возвращаешь значение по полученному индексу.
или модуль для nodejs, да
Бонусом тесты, что точно все правильно работает
сколько сейчас градусов в Камеруне?