Показать ключ объекта с помощью объекта Map () - PullRequest
0 голосов
/ 31 августа 2018

Здесь я получаю ключи от объекта карты

let woodNunChaku = {
  dimensions:"23cm",
};

let foamNunChaku = {
  dimensions:"21cm",
};

let m = new Map();

m.set("wood",woodNunChaku);
m.set("foam",foamNunChaku);

for (let [key,value] of m){
  console.log(key);
}

Это выводит:

wood
foam

Если я использую код ниже, я получаю весь объект

for (let [key,value] of m){
  console.log(value);
}

Выход:

{dimensions: "23cm"}
{dimensions: "21cm"}

И если я использую этот код:

for (let [key,value] of m){
  console.log(value['dimensions']);
}

Выводит размеры клавиш

"23cm"
"21cm"

Но если я хочу получить ключ от объекта woodNunChaku, используя объект Map(), что мне делать?

Например: я хочу отобразить "размеры" для обоих объектов, используя Map() объект.

1 Ответ

0 голосов
/ 03 сентября 2018

Похоже, вы создаете свою карту JS с объектом в качестве значения каждого ключа. Таким образом, карта, которую вы создаете в своем коде, выглядит как [["wood", {dimensions: "23cm"}], ["foam", {dimensions: "21cm"}]], и каждый объект сохраняется как значение элемента карты. Чтобы получить ключ каждого объекта, вам нужно пройтись по значениям карты и получить ключ (ы) для каждого объекта. Например:

for (let value of m.values()){
  let keys = Object.keys(value);
  console.log(keys);
}

// OUTPUT
// ["dimensions"]
// ["dimensions"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...