if w uproszczonej formie

0

Witam wszystkich.
Mam pytanie, czy istnieje jakiś inny, prostszy sposób na zapisanie poniższego kodu?

var mnp = "0.00";
var gp = "0";

if (mnp === "0.00"){
  mnp1 = "0.00"}
else {"xxx"}

console.log("mnp1 = " + mnp1); // mnp1 = 0.00

if (gp === "0"){
  gp1 = "0"}
else {"xxx"}

console.log("gp1 = " + gp1); // gp1 = 0

var mnp1_gp1 = mnp1 + "_" + gp1;

console.log(mnp1_gp1); // 0.00_0
3

mnp1 = mnp === "0.00" ? mnp : "xxx"

Zakładam że w tym else się pomyliłeś i chciałeś x przypisać do mnp1.

0
var mnp, mnp1, gp, gp1, mnp1_gp1;
mnp = mnp1 = "0.00";
gp  = gp1  = "0";


if (mnp !== "0.00") mnp1 = "xxx";

console.log("mnp1 = " + mnp1); // mnp1 = 0.00


if (gp !== "0") gp1 = "0";

console.log("gp1 = " + gp1); // gp1 = 0


mnp1_gp1 = mnp1 + "_" + gp1;

console.log(mnp1_gp1); // 0.00_0
1

To wygląda jakbyś chciał walidować dwa parametry na niezależnie od siebie (co jest dziwne, bo zazwyczaj waliduje się wszystkie na raz).

validate("0.00", "0");

function validate(mnp, gp) {
  const a = mnp === "0.00" ? mnp : "xxx";
  const b = gp === "0" ? gp : "xxx";
  console.log(a + "_" + b);
}

Chociaż spodziewam się że przyrównanie do "0.00" lub "0" raczej nie ma zbyt wiele sensu, więc pewnie chciałbyś coś w stylu

function validate(mnp, gp) {
  const a = /^\d+\.\d+$/.test(mnp) ? mnp : "xxx";
  const b = /^\d+$/.test(gp) ? gp : "xxx";
  console.log(a + "_" + "b");
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1