• 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?

VPS Starter Arubacloud
+2 głosów
248 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 (277,600 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 (255,840 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 229 wizyt
0 głosów
1 odpowiedź 138 wizyt
0 głosów
1 odpowiedź 354 wizyt

93,032 zapytań

141,996 odpowiedzi

321,300 komentarzy

62,379 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...