Как получить значение из объекта?

На входе есть массив, который я перевожу в объект.
Но затем не могу получить значение этого объекта по ключу.
Где ошибка?

const a = [[1, "Вася"],[2, "Петя"],[3, "Коля"],[4, "Федя"]];

const b = a.map(o => {
  let c = {};
  c[o[0]] = o[1];
  return c;
});

console.log(b["1"]); // 2: "Петя"
for (let user in b) { console.log(user); } // 0, 1, 2, 3


1) Как через b["1"] получить "Вася"?
2) Почему "0, 1, 2, 3", ведь должно быть "1,2,3,4"?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 2
@StockholmSyndrome
На входе есть массив, который я перевожу в объект.
нет, метод map возвратит массив

скорее всего, вы имели в виду:
const b = Object.fromEntries(a); // {1: "Вася", 2: "Петя", 3: "Коля", 4: "Федя"}
Ответ написан
Элементы массива нумеруются с нуля.

const arr = [
    [1, 'Вася'],
    [2, 'Петя'],
    [3, 'Коля'],
    [4, 'Федя']
];

const obj = arr.reduce((obj, innerArr) => {
    obj[innerArr[0]] = innerArr[1];
    return obj;
}, {});

console.log(b[1]); // 2: 'Петя'
for (let user in b) { console.log(user); } // 1, 2, 3, 4
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы