Есть следующий объект: subcats = {20: [49, 50, 51], 16: [54, 55]};
Как можно найти ключ объекта к которому приходится число найденное в его массиве?
Допустим я получил число 50, значит в subcats это значение является дочерним 20. Тоже самое с 55 или 54 - должны получить 16.
Пытался методами find и findIndex но там только простые массивы.
Можно получить список ключей с помощью Object.keys() и применить find или findIndex уже к нему:
var subcats = {20: [49, 50, 51], 16: [54, 55]};
console.log(Object.keys(subcats).find(function(key){ return this[key].includes(50);}, subcats));
console.log(Object.keys(subcats).find(function(key){ return this[key].includes(55);}, subcats));
Либо пройтись по ключам с помощью for..in
var subcats = {
20: [49, 50, 51],
16: [54, 55]
};
function findKey(obj, key) {
for (var i in obj) {
if (obj[i].includes(key)) return i;
}
}
console.log(findKey(subcats, 50));
console.log(findKey(subcats, 54));
Продвижение своими сайтами как стратегия роста и независимости