Мне необходимо связать несколько ключей с одним объектом. Например, у меня есть такой код:
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 }
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите пожалуйста как можно отправить(submit) Php форму с селектором(select) который при выборе значения(option и value) включает определенный Div с разными...
Есть форма, которая вызывается на странице несколько разХочется чтобы у нее изменялся id по типу id="form+'i' ", где i увеличивается на один...
Ссылка на репозиторий: https://githubcom/bergdev/bergdev
Очень не удобно без такого, поэтому временно на sublim'e