Beste,
Ik heb al langer dit vraagstuk en heb er eigenlijk nog geen goede oplossing voor gevonden.
Situatie:
Dit werkt, maar het is niet netjes om een functie in een loop aan te maken.
Dus mij lijkt zoiets beter:
Maar ik weet niet hoe ik op de juiste wijze de variable val in de functie krijg.
Moet het met bind, is dat de beste oplossing?
Je kan ook de delegate met () aanroepen:
Maar dan maak je nog steeds een functie in een loop volgens mij.
Wat is de beste manier?
Ik heb al langer dit vraagstuk en heb er eigenlijk nog geen goede oplossing voor gevonden.
Situatie:
JavaScript:
1
2
3
4
5
| let val = 10; myArray.forEach( row => { let item = row.data.find( rowItem => rowItem.key === val); }); |
Dit werkt, maar het is niet netjes om een functie in een loop aan te maken.
Dus mij lijkt zoiets beter:
JavaScript:
1
2
3
4
5
6
| let val = 10; let delegateFindItem = rowItem => rowItem.key === val; myArray.forEach( row => { let item = row.data.find( delegateFindItem ); }); |
Maar ik weet niet hoe ik op de juiste wijze de variable val in de functie krijg.
Moet het met bind, is dat de beste oplossing?
JavaScript:
1
2
3
4
5
6
| let val = 10; let delegateFindItem = (val, rowItem) => rowItem.key === val; myArray.forEach( row => { let item = row.data.find( delegateFindItem.bind( this, val) ); }); |
Je kan ook de delegate met () aanroepen:
JavaScript:
1
2
3
4
5
6
| let val = 10; let delegateFindItem = val => rowItem => rowItem.key === val; myArray.forEach( row => { let item = row.data.find( delegateFindItem(val) ); }); |
Maar dan maak je nog steeds een functie in een loop volgens mij.
Wat is de beste manier?
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router