Как распечатать содержимое словаря словарей? - PullRequest
0 голосов
/ 17 мая 2018

labels это словарь словарей:

{"1":{"id":"1","image":"1-0.png","name":"","xMax":"4802","xMin":"4770","yMax":"156","yMin":"141"},"2":{"id":"2","image":"1-0.png","name":"","xMax":"4895","xMin":"4810","yMax":"157","yMin":"141"},"3":{"id":"3","image":"1-0.png","name":"","xMax":"4923","xMin":"4903","yMax":"156","yMin":"145"},"4":{"id":"4","image":"1-0.png","name":"","xMax":"4956","xMin":"4931","yMax":"156","yMin":"145"}}

что я хочу это:

for (i = 0; i < labels.length; i++){
    drawLabels(
      labels[i].id,
      labels[i].xMin,
      labels[i].xMax,
      labels[i].yMin,
      labels[i].yMax
    );
  }

У меня есть 4 словаря в основном словаре, поэтому я хочу, чтобы их содержимое использовалось 1 к 1, но label.length не работает даже при том, как я обращаюсь к элементам моего словаря ниже.

Как я могу исправить свой код, чтобы сделать это?

1 Ответ

0 голосов
/ 17 мая 2018

labels не является массивом.

Вы должны сделать это так:

for (let i in labels){
    if(labels.hasOwnProperty(i)) {
        drawLabels(
            labels[i].id,
            labels[i].xMin,
            labels[i].xMax,
            labels[i].yMin,
            labels[i].yMax
        );
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...