Задать вопрос
@R0_none
ни ноты без банкноты

Как обратится к третьему по счёту ключу объекта, если ты не можешь предсказать какое будет у ключа имя?

в функцию передаётся объект
каждый раз у него разные не предсказуемые ключи и в этих ключах содержатся массивы
нужно обратиться к любому одному элементу масива скрывающемуся за ключём объекта.

допустим
const obj = {
a: [A, B, C],
b: [G, D, E],
c: [W, V, J],
}

хочу обратиться к ключу b и элементу V

return obj[3][1]
так не работает. а как надо?
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Можете сделать Object.values(inputObject), получите массив, можете перебрать его и сделать проверку на isArray, если условие верное, то зайдите внутрь этого элемента-массива и возьмите то, что вам надо
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Object.keys() вернет массив с ключами объекта.

const data = {
  'hello': 42,
  'world': 100,
  'foo': 'bar',
};

const keys = Object.keys(data);
console.log(...keys); // -> hello world foo
console.log(keys[1]); // -> world

// также через for ... in можно перебрать перечислимые свойства

for (let key in data) {
  console.log(key, data[key]); // -> hello 42
                               // -> world 100
                               // -> foo bar
}


Также можно сделать Object.keys(data).forEach(...) или Object.keys(data)[2]
Также см. Object.entries() который возвращает массивы, где содержится ключ и его значение.
Ответ написан
Комментировать
Aetae
@Aetae Куратор тега JavaScript
Тлен
Нихрена не понятно, но допустим так:
function getRandomAtKey(object, keyIndex = 2) {
  for (const key in object) if(--keyIndex < 0) {
    const arr = object[key];
    return arr[Math.floor(Math.random() * arr.length)];
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы