Мне необходимо связать несколько ключей с одним объектом. Например, у меня есть такой код:
var obj = {
1 : "class1",
2 : "class1",
3 : "class2",
4 : "class2",
5 : "class3",
6 : "class3",
7 : "class4",
...
n : "classn",
};
И мне необходимо не маленькому кол-ву див присвоить классы, согласно индексу. Делаю я это в jquery, вот так:
$('.container div').each(function(i) {
$(this).addClass(obj[i]);
});
Все работает хорошо, но у меня таких див будет десятки.. И представьте для каждого дива писать его индекс и класс внутри obj
это как-то немного не разумно.
В коде, что выше, каждому ключу присвоены объекты. А мне нужно наоборот.. Для одного объекта несколько ключей. Что-то вроде такого:
var obj = {
1, 2 : "class1",
3, 4 : "class2",
5, 6 : "class3",
7, 8, 9, 10 : "class4",
...
n, n2 : "classn",
};
Но так не работает, и не будет. Подскажите, пожалуйста, как мне сделать что ни будь подобное, что бы не плодить строчки для каждого ключа. Т.е. мне нужно одному объекту присвоить несколько ключей. Как это можно сделать? Спасибо! Мне это очень нужно..
Вы можете попробовать сделать наоборот:
const obj = {
"class1": [1, 2, 3, 4],
"class2": [5, 6, 7],
"class3": [8, 9, 10]
}
const objKeys = Object.keys(obj),
objValues = Object.values(obj);
const nodes = document.querySelectorAll('.container div');
for (var i = 0; i < nodes.length; i++) {
let index = objValues.findIndex(ids => ids.indexOf(i + 1) > -1)
if (index > -1) {
nodes[i].classList.add(objKeys[index]);
}
}
var obj0 = {
class1: [1, 2],
class2: [3, 4],
class3: [5, 6],
class4: [7, 8, 9, 10],
}
var obj = {}
for (var [c, a] of Object.entries(obj0)) {
for (var i of a) {
obj[i] = c
}
}
console.log(obj)
.as-console-wrapper.as-console-wrapper { max-height: 100vh }
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста как можно отправить(submit) Php форму с селектором(select) который при выборе значения(option и value) включает определенный Div с разными...
Есть форма, которая вызывается на странице несколько разХочется чтобы у нее изменялся id по типу id="form+'i' ", где i увеличивается на один...
Ссылка на репозиторий: https://githubcom/bergdev/bergdev
Очень не удобно без такого, поэтому временно на sublim'e