I have the following list:
var submenu = localStorage.getItem('SubMenu')
var submenuList = submenu.split(',');
0: "Ownership"
1: "Skills<br>Dev"
2: "Financing<br/>and ESD"
3: "Socio-Economic<br>Dev"
4: "Access to<br/>Financial Services"
5: "Board Participation"
6: "Employee Structure"
7: "Preferential Procurement"
8: "Enterprise Development"
9: "Supplier Development"
What I want to do is write a forEach statement in Javascript to replace some certain words with my own hard coded work. For example, where Dev appears I want to change it to Development and where Financing<br/>and ESD I want to change it to Empowerment Financing
I tried the replace method of my list but that gives me errors because i am getting confused with my forEach statement
This is what i have tried
submenuList.forEach(word =>{allMenuItems = allMenuItems.replace('Dev','Development')})
Advertisement
Answer
forEach doesn’t allow you to modify each element like that. Put simply, the word value in your handler is just a value, not a reference to the item in the array. You can either use a for loop to actually get a reference to each element in the array (not recommended), or you can use map to modify each word instead.
submenuList = submenuList.map(
word => word.replace(
'Dev',
'Development'
)
)