Hoe kan ik een if else statement gebruiken in een javascript array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer met testervaring

Java developer met testervaring Functieomschrijving "De drempel tussen de burger en de Belastingdienst zo laag mogelijk houden: dat is de belangrijke taak van ons team. Dit doen we door het burgerportaal Mijn Belastingdienst continu te verbeteren." René, Java-specialist bij de Belastingdienst. De keten Interactie is een samenwerkingsverband van alle dienstonderdelen binnen de Belastingdienst. Samen zorgen we dat het contact met burgers en bedrijven goed kan plaatsvinden. Onze belangrijkste opgave? Zoveel mogelijk digitaliseren. Dat doen we binnen het onderdeel Informatievoorzieningen (IV), de ICT-organisatie van de Belastingdienst. Denk bij de producten die IV-Interactie ontwikkelt en onderhoudt aan portalen, formulieren en authenticatie- en

Bekijk vacature »

Full Stack Developer Industriële Automatiseri

Raster wordt continu betrokken bij complexe en baanbrekende projecten in industriële automatisering. Ons team is gespecialiseerd in productie automatisering en proces automatisering projecten waarin procesveiligheid een belangrijk aspect is. Ons compact en groeiend OX (Operational Excellence) team ontwikkelt, configureert en levert support op zelfontwikkelde applicaties waarmee onze klanten hun productieprocessen slimmer, sneller, goedkoper en veiliger maken. Operational Excellence wordt zichtbaar gemaakt in resultaten. Bij bedrijven met dezelfde strategie, zal een operationeel excellent bedrijf een lager operationeel risico, lagere operationele kosten hebben en relatief meer winst maken. Het Raster OX team laat haar klanten de resultaten behalen door hun eigen procesdata

Bekijk vacature »

Snelle Jaap

Snelle Jaap

06/04/2021 11:04:48
Quote Anchor link
Ik heb een array die er zo uitziet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const hotspots = [{
        top: (90* scaleToWidth),
        left: (680* scaleToWidth),
        radius: 10,
        fill: 'rgba(0, 159, 227, 0)',
        id: 'cirkel1',
        hoverCursor: 'pointer',
        selectable: false,
        imgtop: 71,
        imgleft: 236,
        imgheight: 335,
        imgwidth: 514,
        placement: 'bottom',
        tooltipid: 'cirkel1',
        imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
    },
];


Ik wil deze twee waardes:

top: (90* scaleToWidth),
left: (680* scaleToWidth),

Aanpassen adhv van een if else statement, dus dat probeer ik zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const hotspots = [{
        if(window.outerWidth > 991) {
            top: (90* scaleToWidth),
            left: (680* scaleToWidth),
        }else{
            top: (250* scaleToWidth),
            left: (680* scaleToWidth),
        }
        radius: 10,
        fill: 'rgba(0, 159, 227, 0)',
        id: 'cirkel1',
        hoverCursor: 'pointer',
        selectable: false,
        imgtop: 71,
        imgleft: 236,
        imgheight: 335,
        imgwidth: 514,
        placement: 'bottom',
        tooltipid: 'cirkel1',
        imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
    },
];


Maar hiermee krijg ik: Unexpected token '.'

Hoe kan zoiets?
 
PHP hulp

PHP hulp

19/10/2021 14:06:21
 
- Ariën -
Beheerder

- Ariën -

06/04/2021 11:07:33
Quote Anchor link
in een array gaat dit nooit werken, omdat je geen logica erin kan verwerken.

Je moet de logica naar buiten je array plaatsen, waarbij je een variabele aanmaakt, die je wel in je array kan plaatsen.
 
Snelle Jaap

Snelle Jaap

06/04/2021 11:14:40
Quote Anchor link
Is dit niet met een dirtyfix op te lossen? Ik heb een hoop wisselende waardes dus die plaats ik het liefste direct in de array ipv nog een hele brei aan code erbuiten.
 
- Ariën -
Beheerder

- Ariën -

06/04/2021 11:22:53
Quote Anchor link
Nee, de enige beste oplossing is om je logica naar boven te verhuizen en er een variabele aan te hangen.

Lijkt mij in jouw code geen probleem.
 
Snelle Jaap

Snelle Jaap

06/04/2021 11:33:47
Quote Anchor link
Oke, iets zoals dit?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if(window.outerWidth > 991) {
    var $gordijnenpos = 'top: (90* scaleToWidth),left: (680* scaleToWidth),';
}else{
    var $gordijnenpos = 'top: (250* scaleToWidth),left: (680* scaleToWidth),';
}

const hotspots = [{
        $gordijnenpos,
        radius: 10,
        fill: 'rgba(0, 159, 227, 0)',
        id: 'cirkel1',
        hoverCursor: 'pointer',
        selectable: false,
        imgtop: 71,
        imgleft: 236,
        imgheight: 335,
        imgwidth: 514,
        placement: 'bottom',
        tooltipid: 'cirkel1',
        imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
    },
];


Want als ik dit doe komt die variabele er gewoon als variabele in te staan, ipv de inhoud ervan, dit is de broncode:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const hotspots = [{
    $gordijnenpos,
    radius: 10,
    fill: 'rgba(0, 159, 227, 0)',
    id: 'cirkel1',
    hoverCursor: 'pointer',
    selectable: false,
    imgtop: 71,
    imgleft: 236,
    imgheight: 335,
    imgwidth: 514,
    placement: 'bottom',
    tooltipid: 'cirkel1',
    imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
Gewijzigd op 06/04/2021 11:34:44 door Snelle Jaap
 
- Ariën -
Beheerder

- Ariën -

06/04/2021 11:36:08
Quote Anchor link
Klopt.

Hoewel ik het dollarteken in JS bijzonder vind. ;-)
 
Snelle Jaap

Snelle Jaap

06/04/2021 11:37:51
Quote Anchor link
Haha ja een gewoonte
 
Ad Fundum

Ad Fundum

06/04/2021 12:59:39
Quote Anchor link
Zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const hotspots = [{
  gordijnenspots: window.outerWidth > 991
   ? 'top: (90* scaleToWidth),left: (680* scaleToWidth),'
   : 'top: (250* scaleToWidth),left: (680* scaleToWidth),',
  radius: 10,
  fill: 'rgba(0, 159, 227, 0)',
  id: 'cirkel1',
  hoverCursor: 'pointer',
  selectable: false,
  imgtop: 71,
  imgleft: 236,
  imgheight: 335,
  imgwidth: 514,
  placement: 'bottom',
  tooltipid: 'cirkel1',
  imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
}];
alert(hotspots[0].gordijnenspots);
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.