Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отрицание от переменной (https://javascript.ru/forum/misc/75122-otricanie-ot-peremennojj.html)

dimamk 04.09.2018 14:39

Отрицание от переменной
 
ребят подскажите пожалуйста:
есть переменная, которая имеет одно из 4 значений: 0, 1, true, false
Нужно найти отрицание от данной переменной, только чтобы при отрицании числа получалось тоже число!
т.е
отриц(1) = 0
отриц(0) = 1
отриц(true) = false
отриц(false) = true

Спасибо!

Nexus 04.09.2018 14:47

function negative($value){
	return typeof $value==='boolean'?
		!$value:
		+!$value;
};
console.log(
    negative(1),
    negative(0),
    negative(true),
    negative(false)
);

dimamk 04.09.2018 14:57

Спасибо, но оказалось там еще одна проблема у всех этих 4 значений тип всегда string

Nexus 04.09.2018 15:08

function negative($value){
	return {
		'0':'1',
		'1':'0',
		'true':'false',
		'false':'true'
	}[$value];
};
console.log(
    negative(1),
    negative(0),
    negative(true),
    negative(false)
);

рони 04.09.2018 15:21

:)
function negative(b)
{
    return b == +b ? +!+b : b == 'false'
}
alert('0,1,true,false'.split(',').map(negative));


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