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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+2 głosów
266 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 (278,710 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 (256,320 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 238 wizyt
0 głosów
1 odpowiedź 145 wizyt
0 głosów
1 odpowiedź 372 wizyt

93,180 zapytań

142,195 odpowiedzi

321,993 komentarzy

62,511 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1873p. - dia-Chann
  2. 1848p. - Łukasz Piwowar
  3. 1831p. - CC PL
  4. 1827p. - Łukasz Eckert
  5. 1789p. - Tomasz Bielak
  6. 1769p. - Michal Drewniak
  7. 1761p. - Łukasz Siedlecki
  8. 1758p. - rucin93
  9. 1708p. - Adrian Wieprzkowicz
  10. 1668p. - Mikbac
  11. 1621p. - rafalszastok
  12. 1506p. - Marcin Putra
  13. 1356p. - ssynowiec
  14. 1289p. - Anonim 3619784
  15. 1232p. - Mariusz Fornal
Szczegóły i pełne wyniki

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 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...