Форум

Data.BG Форуми: Switch за сравняване на две променливи в JavaScript - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

Switch за сравняване на две променливи в JavaScript

#1
Потребителят е неактивен   di44i 

  • Група: Потребители
  • Мнения: 325
  • Регистриран: 13-December 08
  • Репутация: 3
Здравейте, трябва да сравня две променливи, чиито стойности са числа със switch оператора и като резултат да ми изкара кое от числата е по-голямо. Нещо тотално се оплетох и не знам точно как става сравняването на две променливи. Кода, който скалъпих е :

var numberOne = 9;

var numberTwo = 7;


switch(numberOne + " " + numberTwo) {

case 0:
9>7
console.log("9>=7")
break;

case 1:
9<7
console.log("9<=7")
break;

case 2:
9==7
console.log("9=7")
break;

default:
console.log("Unknown")


}


и постоянно ми излиза Unknown, следователно не е така. Надявам се, че можете да помогнете на тотално начинаещ за тази задача.
0

#2
Потребителят е неактивен   batzidi 

  • Група: Потребители
  • Мнения: 168
  • Регистриран: 16-January 04
  • Репутация: 9
  • Пол:Мъж
function compare(n1, n2) {
switch(true){
case (n1>n2) : console.log(">"); break;
case (n1==n2) : console.log("="); break;
default: console.log("<");
}}

compare(1,2);
compare(2,1);
compare(2,2);
0

#3
Потребителят е неактивен   di44i 

  • Група: Потребители
  • Мнения: 325
  • Регистриран: 13-December 08
  • Репутация: 3
В момента карам курс по JavaScript и тази задача ми е за домашно и изискването е да е с променливи.
0

#4
Потребителят е неактивен   sandh 

  • Група: Потребители
  • Мнения: 8748
  • Регистриран: 11-August 04
  • Репутация: 120
  • Пол:Мъж
  • Град:София
Каква е точната дефиниция на заданието? Ако можеш да ползваш повече от един switch-а, тогава това би било подходящо:
<script>
	var numberOne = 9;
	var numberTwo = 7;

	switch( numberOne > numberTwo ) {
		case true: console.log( '#1 > #2' ); break;
		default:
			switch( numberOne < numberTwo ) {
				case true: console.log( '#1 < #2' ); break;
				default: console.log( '#1 == #2' ); break;
			}
		break;
	}
</script>


Ако трябва да ползваш точно 1 switch и 2 променливи (макар и да изглежда доста безсмислено):
<script>
	var numberOne = 9;
	var numberTwo = 7;

	switch( true ) {
		case numberOne > numberTwo: console.log( '#1 > #2' ); break;
		case numberOne < numberTwo: console.log( '#1 < #2' ); break;
		case numberOne == numberTwo: console.log( '#1 == #2' ); break;
	}
</script>


А ако не ни интересуват равенствата:
<script>
	var numberOne = 9;
	var numberTwo = 7;

	switch( numberOne > numberTwo ) {
		case true: console.log( '#1 > #2' ); break;
		case false: console.log( '#1 < #2' ); break;
	}
</script>

0

#5
Потребителят е неактивен   pix3l 

  • Група: Потребители
  • Мнения: 717
  • Регистриран: 31-August 09
  • Репутация: 217
var numberOne = 11;
var numberTwo = 10;

var result = ((numberOne == numberTwo) ? 1 : (numberOne > numberTwo) ? 2 : 3);

switch(result) {
    case 1:
        console.log("=");
        break;
    case 2:
        console.log(">");
        break;
    case 3:
        console.log("<");
        break;
}

Извратеняци... да те карат да ползваш switch, вместо if/else. :D
Нито крачка назад - Зад нас е България!
0

#6
Потребителят е неактивен   NSB0P 

  • Група: Потребители
  • Мнения: 138
  • Регистриран: 06-October 11
  • Репутация: 3
  • Пол:Мъж
  • Град:София

Преглед на мнениеdi44i, на 17.08.16 - 21:11, каза:

Здравейте, трябва да сравня две променливи, чиито стойности са числа със switch оператора и като резултат да ми изкара кое от числата е по-голямо. Нещо тотално се оплетох и не знам точно как става сравняването на две променливи. Кода, който скалъпих е :

var numberOne = 9;

var numberTwo = 7;


switch(numberOne + " " + numberTwo) {

case 0:
9>7
console.log("9>=7")
break;

case 1:
9<7
console.log("9<=7")
break;

case 2:
9==7
console.log("9=7")
break;

default:
console.log("Unknown")


}


и постоянно ми излиза Unknown, следователно не е така. Надявам се, че можете да помогнете на тотално начинаещ за тази задача.



Ето и още опциии :) GoOglE това е със switch

Ето и със if else който може би е по правилният вариант: GoOglE

Мнението беше редактирано от NSB0P: 08.11.16 - 22:26

Транскрипция на абривиатурата НСБОП:
Никакъв Софтуер Безплатно за Обикновените Потребители :D
0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login