Несколько циклов FOR var, которые считываются из конфигурации

Я настраиваю свой код и имею проблему. Этот код — всего лишь пример того, что я пытаюсь сделать. SO в основном config.Te[i].ref должен читать все ссылки в Te.. но он читает только первую строку, а не все строки в Te...

С Уважением

for (var i in config.acc,config.Te,config.Hu,config.Ve) 

                console.info(config.Te[i].ref)
          {}

когда я изменяю вывод журнала на config.acc[i].ref или другой, он также считывает первую строку только этой конкретной конфигурации.

но когда я изменяю его на for (var i в config.acc), он читает все ссылки...

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

"acc":
            [
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 },
            {"type":"PIR",      "ref":0 }
            ],

for (var i in config.acc,config.Te,config.Hu,config.Ve) эквивалентен for (var key in config.Ve)Оператор запятой MDN, и я предполагаю, что config.Ve имеет только 1 строку.
Thomas 03.06.2019 08:31

@Thomas Томас нет, у них у всех много строк ... вот почему я спрашиваю, как решить эту проблему ... например, я хочу вызвать ссылки с помощью console.info (config.Te [i].ref) и так далее.

user3785784 03.06.2019 08:35
«Я хочу вызывать рефы с помощью console.info(config.Te[i].ref) и так далее» как насчет for (var i in config.Te) console.info(config.Te[i].ref);
Thomas 03.06.2019 08:41

@ Томас, спасибо, я это уже знаю. как и вопрос выше, как я могу сделать это с остальными, так как приведенный выше код дает мне только 1 строку, а не все из них в массиве... и действительно, если я использую for (var i в config.Te), это даст мне информация, которая мне нужна только для этого .. как насчет остальных? я просто хочу объединить их в один код. чтобы я мог назвать это console.info(config.acc[i].ref) console.info(config.hu[i].ref) console.info(config.ve[i].ref).

user3785784 03.06.2019 08:48

Наконец, кажется, я понял, что вы имели в виду под этой конструкцией for(var i=0, length=Math.max(config.acc.length,config.Te.length,config.Hu‌​.length,config.Ve.le‌​ngth); i<length; ++i) { ... }

Thomas 03.06.2019 09:08

@ Томас, вероятно, стоит ответа.

VLAZ 03.06.2019 09:10

@Thomas, это работает, но только это дает мне новую ошибку, когда я помещаю в него этот код: if (myData.ref == config.acc[i].ref) {МОЕ ДЕЙСТВИЕ} получает эту ошибку после этого: Невозможно прочитать свойство 'ссылка' неопределенного. код ошибки взят из config.acc[i].ref

user3785784 03.06.2019 11:09

Кажется, что acc не такой длинный, как один из других списков; а может в нем есть пробелы, я ваших данных не знаю. Вы не можете вслепую получить доступ к свойствам значения в любом из списков, потому что значение/индекс может не существовать в этом конкретном списке. Это цена за подход, который вы хотите использовать; вы должны делать нулевые проверки.

Thomas 03.06.2019 11:20

@Thomas for(var i=0, length=Math.max(config.acc.length,config.Te.length,config.Hu‌​.length,config.Ve.le‌​ngth); i<length; ++i) {console.info(config.acc[i].ref)} показывает нормальное значение .. но почему это не так, если я использую for(var i=0, length=Math.max(config.acc.length,config.Te.length,config.Hu‌​.length,config.Ve.le‌​ngth); i<length; ++i) {if (myData.ref == config.acc[i].ref) { console.info(config.acc[i].ref)}}

user3785784 03.06.2019 11:48

@Thomas, у меня все работает, но он читает максимум 5 строк ... как его увеличить?

user3785784 04.06.2019 10:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
10
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете хранить свои основные объекты в массиве, а затем использовать вложенный цикл for.

const arr = [config.acc,config.Te,config.Hu,config.Ve]
for(let elm of arr){
   for(let i in elm){
      console.info(elm[i].ref)
   }
}

спасибо за ваш очень быстрый ответ, это произойдет, когда я создам событие, которое запустит все. я просто хочу видеть, как если я использую: console.info(config.Te[i].ref), что он только перечисляет ссылку из Te и так далее. а не все остальные.. возможно ли это?

user3785784 03.06.2019 08:28

Могу ли я вызвать журнал отдельно от конфигов? например, если я хочу видеть только информацию из config.Hu, как мне это сделать? console.info(elm[i].ref) дает мне их все.

user3785784 03.06.2019 08:52

Другие вопросы по теме