• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy moge umiescic sam znak dzielenia/mnozenia/dodawania itp jako zmienna?

Object Storage Arubacloud
+2 głosów
185 wizyt
pytanie zadane 10 lutego 2023 w JavaScript przez wodoyo Początkujący (480 p.)

W jaki sposob moge zapisac znak mnozenia lub dodwania tak aby przypisac inna wartosc dla wartosci w array?

chce zrobic cos w stylu:


 

Const znak dzielenia = /

Const znak mnozenia = *

i pozniej umiescic mnozenie/dzielenie w kodzie w zaleznosci ktorej zmiennej uzyje . Jak to zrobic?

 

2 odpowiedzi

+2 głosów
odpowiedź 10 lutego 2023 przez Wiciorny Ekspert (270,150 p.)
wybrane 21 lutego 2023 przez wodoyo
 
Najlepsza

To mozesz zapisać tylko jako 'jakis typ', w tym wypadku typ jako literał 
Np. poprzez przypisanie operatorów matematycznych jako zmiennych tak jak to mniej wiecej masz tylko nie określiłeś typu  i użycie ich w dalszym kodzie:
 

const multiplicationSign = "*"; // mnozenie
const additionSign = "+";

let numbers = [1, 2, 3, 4];

let result = 0;

for (let i = 0; i < numbers.length; i++) {
    if (multiplicationSign === "*") {
        result *= numbers[i];
    } else if (additionSign === "+") {
        result += numbers[i];
    }
}

console.log(result);

tak bezpośrednio jako matematyczny operator tego nie użyjesz dobrze.
Zmienna może być operatorem, ale trzeba pamiętać że niektóre operatory (takie jak + czy -) są też używane jako operatory łączenia tekstu. W takim przypadku, aby użyć operatora jako operacji arytmetycznej, należy go umieścić w nawiasach.

 

const multiply = "*";
const x = 5;
const y = 10;
console.log(x + multiply + y); // "5*10"
console.log((x) * (y)); // 50

 

0 głosów
odpowiedź 10 lutego 2023 przez VBService Ekspert (253,340 p.)
edycja 10 lutego 2023 przez VBService

Możesz jeszcze użyć eval, ale musisz być pewny, że zmienne zawierają "bezpieczne" dane (wartości)

[ on-line ]

const operation = "*",
      x = 5,
      y = 10;

console.log(eval(`${x} ${operation} ${y}`));
console.log(eval(x + operation + y));

lub np.

const example_second_number1 = document.querySelector('#example-second #number1'),
      example_second_number2 = document.querySelector('#example-second #number2'),
      example_second_operation = document.querySelector('#example-second #operation'),
      example_second_equal = document.querySelector('#example-second button'),
      example_second_result = document.querySelector('#example-second span');

example_second_equal.onclick = function() {
  const notation = example_second_number1.value
                 + example_second_operation.value
                 + example_second_number2.value;
  example_second_result.textContent = eval(notation);
};

 

podane powyżej przykłady ukazują zasadę działania eval, ale nie zawierają żadnej walidacji danych.

Podobne pytania

+1 głos
0 odpowiedzi 214 wizyt
0 głosów
1 odpowiedź 124 wizyt
0 głosów
1 odpowiedź 324 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...