Код: Выделить всё
const projectSkillsMap = {
'project1' : ['skill_2','skill4','skill5'],
'project2' : ['skill1','skill_2','skill4','skill5','skill6'],
'project3' : ['skill1','skill_2','skill3','skill4','skill5','skill6']
}
function chooseProject(key) {
// adding accet to chosen group
Object.keys(projectSkillsMap).map((i) => { if (i == key) {
Object.entries(projectSkillsMap).map((il, value) => { if (il == i) document.getElementById(value).classList.toggle('button_click')})
}})
// removing accents from other groups
Object.keys(projectSkillsMap).map((i) => { if (i !== key) {
projectSkillsMap[`${i}`].map((el) => document.getElementById(`${el}`).classList.remove('button_click'))
}})
Object.values(projectSkillsMap).map((el) => { if (el !== key) {
document.getElementById(el).classList.remove('button_click')
}})
}
Я понял это, когда изменил свой объект и оставил только уникальные значения для каждого ключа - таким образом код работает как положено. Есть ли способ заставить его работать с повторяющимися значениями?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ate-values