Nie wiem, jak połączyć te 2 części kodu, które wypróbowałem przez ternaire, ale to nie zadziałało

if(marge[i].cas_v)
    dps_cote.push({
        x: i,
        label: cote[i].x,
        y: cote[i].y,
        color: 'green',
        indexLabelFontColor : "red",
        indexLabelFontWeight: "bold",
        indexLabel: marge[i].cas_v.toString()
    });
// CAS_V = NULL
else
    dps_cote.push({
        x: i,
        label: cote[i].x,
        y: cote[i].y,
        color: 'green',
        indexLabelFontColor : "red",
        indexLabelFontWeight: "bold",
        indexLabel: ""
    });
-1
private private 2 kwiecień 2020, 08:44

3 odpowiedzi

Najlepsza odpowiedź

Możesz spróbować następujących rzeczy

dps_cote.push({
        x: i,
        label: cote[i].x,
        y: cote[i].y,
        color: 'green',
        indexLabelFontColor : "red",
        indexLabelFontWeight: "bold",
        indexLabel: marge[i].cas_v?marge[i].cas_v.toString():""
    });
1
Ashutosh Padhi 2 kwiecień 2020, 05:57

Wszystkie wartości są zdefiniowane za pomocą dowolnych wartości, aby zapewnić działającą odpowiedź.

  1. Najpierw zadeklaruj i / lub zdefiniuj zmienne

  2. Następnie elementy sterujące przepływem, takie jak warunkowe, takie jak if/else if/else i / lub trójskładnikowy let x = 0 > y ? z : a

  3. Unikaj przepisywania kodu takiego jak ten obiekt, który został zdefiniowany dwukrotnie, ponieważ indexLabel ma jedną z dwóch możliwych wartości. Jeśli ćwiczysz # 1, zduplikowany kod nie będzie problemem.

Ternaria różnią się od if/else if/else tym, że są jak wyrażenie:

let iL = marge[i].cas_v ? marge[i].cas_v.toString() : "";
/* 
if `marge[i].cas_v` exists then `iL` is `marge[i].cas_v.toString()`
otherwise it is `""`
*/
obj.indexLabel = iL;
// whatever `iL` ends up to be -- its assigned to `obj.indexLabel` 

Próbny

/* 
if i = 0 then indexLabel: "11"
if i = 1 then indexLabel: "121"
if i = 2 then indexLabel: "14641"
*/
let i = 0;
let cote = [{x: 0, y: 0}, {x: 1, y: 0}, {x: 0, y: 1}];
let marge = [{cas_v: 11}, {cas_v: 121}, {cas_v: 14641}];
let dps_cote = [];
let obj = {
  x: i,
  label: cote[i].x,
  y: cote[i].y,
  color: 'green',
  indexLabelFontColor: "red",
  indexLabelFontWeight: "bold",
  indexLabel: ""
};

let iL = marge[i].cas_v ? marge[i].cas_v.toString() : "";

obj.indexLabel = iL;

dps_cote.push(obj);

console.log(dps_cote);
0
Community 20 czerwiec 2020, 09:12
let object = {
    x: i,
    label: cote[i].x,
    y: cote[i].y,
    color: 'green',
    indexLabelFontColor : "red",
    indexLabelFontWeight: "bold",
}
if (marge[i].cas_v) {
    object.indexLabel = marge[i].cas_v.toString();
    dps_cote.push(object);
} else {
    dps_cote.push(object);
}
0
Foxeye.Rinx 2 kwiecień 2020, 05:51