Felix Riesterer: Alternative zu eval() für arithmetische Berechnungen

Beitrag lesen

problematische Seite

Lieber Rolf,

var randomOps = [ 'plus', 'minus', 'mal', 'div' ];

ginge das denn nicht auch mit Object.keys(), also opMap.keys()? Damit spart man sich ein unnötiges Array.

var opMap = {
   'random': function(a,b) {
                var op = rand(0, randomOps.length);
                return opMap[randomOps[op]](a,b);
             }
};

Vielleicht eher so?

"random": function (a, b) {
    var keys = opMap.keys();
    return opMap[keys[rand(0, keys.length)]](a, b);
}

Noch schöner fände ich ja, wenn man die richtigen Taschenrechnerzeichen benutzte und sämtliche Bezeichner in rein englischer Sprache formulierte (das Internet ist international und englisch die lingua franca):

var opMap = {
    "add": function(a, b) {
        return { symbol: "+", result: a+b };
    },
    "substract": function(a, b) {
        return { symbol: "-", result: a-b };
    },
    "multiply": function(a, b) {
        return { symbol: "×", result: a*b };
    },
    "divide": function(a, b) {
        return { symbol: "÷", result: a/b };
    },
    "any": function(a, b) {
        var keys = opMap.keys();
        return opMap[keys[rand(0, keys.length)]](a, b);
    }
};
var opInfo = handler(a,b);
document.querySelector('#operator').textContent = opInfo.symbol;
ergebnis = opInfo.erwartet;

Das müsste man dann noch so anpassen:

var opInfo = handler(a,b);
document.querySelector('#operator').textContent = opInfo.symbol;
ergebnis = opInfo.result;

Liebe Grüße,

Felix Riesterer.

0 52

Alternative zu eval() für arithmetische Berechnungen

Matthias Scharwies
  • javascript
  1. 0
    Gunnar Bittersmann
    1. 1
      Rolf b
      1. 1
        Felix Riesterer
        1. 1
          Gunnar Bittersmann
      2. 0
        Matthias Scharwies
        1. 2
          Rolf b
          • javascript
          • programmiertechnik
          1. 0
            Matthias Scharwies
            1. 0
              Rolf b
              1. 0
                Camping_RIDER
                • humor
                • menschelei
          2. 1
            1unitedpower
            1. 0
              Rolf b
              1. 0
                1unitedpower
                1. 0
                  Rolf b
                  1. 0
                    1unitedpower
        2. 0
          JürgenB
          1. 1
            Christian Kruse
            1. 0
              JürgenB
              1. 0
                Christian Kruse
  2. 0
    Tabellenkalk
    1. 0
      Gunnar Bittersmann
  3. 0
    pl
    1. 0
      Gunnar Bittersmann
    2. 0
      Rolf b
      1. 1
        pl
        • javascript
        • programmiertechnik
        1. 0
          TS
          1. -1
            pl
            1. 0
              TS
              1. 0
                Tabellenkalk
                1. 0
                  TS
              2. 0
                pl
                1. 0
                  TS
                  1. -2
                    pl
                    • javascript
                    • programmiertechnik
                    • zu diesem forum
                    1. 0
                      Gunnar Bittersmann
                      • zu diesem forum
  4. 1
    Matthias Apsel
    1. 0
      Matthias Scharwies
      1. 2
        JürgenB
      2. 0
        Rolf b
  5. 0
    TS
    • javascript
    • programmplanung
    1. 0

      Mathe-Quiz - Aufgabenstellung zusammengefasst

      Matthias Scharwies
      1. 0

        Mathe-Quiz - aufgabenstellung zusammengefasst

        Matthias Apsel
        1. 0
          dedlfix
          1. 0
            Matthias Apsel
          2. 0

            Mathe-Quiz - für welche Schüler?

            Matthias Scharwies
      2. 0

        Mathe-Quiz 0.3 (läuft)

        Matthias Scharwies
        1. 0
          TS
          1. 0
            Gunnar Bittersmann
            1. 0
              Tabellenkalk
              1. 0
                JürgenB
                1. 0
                  Gunnar Bittersmann
                2. 0
                  TS
        2. 0
          Tabellenkalk
          • javascript
          • programmplanung
          • rechnen