Лучший способ выдвигать элементы с помощью двух циклов for

У меня есть функция, которая вызывает API, который запускает 2 цикла for для получения элементов API. Я пытаюсь нажать эти элементы во вложенном нажатии. Есть лучший способ сделать это? ниже мой код.

    axios.get(url+'api_key='+apiKey +'&address.city='+city+'&address.postal_code='+zipCode+'&address.state_code='+state+'&name='+orgName)

        .then(res => {
            /*If whitePages brings in less than 1 results, moves to googleAPI call */
            if (parseInt(res.data.count_business) < 1){
                fetchGooglePlace(data)

            }else{
                console.info('RUNNING WHITEPAGES');


                for(let i =0; i < res.data.business.length; i++ ){

                    churchListing.push({

                        name: res.data.business[i].name + '\n\r',
                        address: res.data.business[i].found_at_address.street_line_1 + '\n\r',

                    });

                    /*Second loop to fetch phone numbers from array in that i am trying to include in the nested push().  
                    for (let x = 0; x < res.data.business[i].phones.length; x++) {
                        phone: res.data.business[i].phones[x].phone_number ,
                    }

                }
                    writeStream(churchListing);
            }
        })
        .catch(err => {
            console.info(err)
        });
}

массив JSON для телефонных номеров выглядит так.

 "phones": [
        {
            "id": "Phone.46c16fef-a2e1-4b08-cfe3-bc7128b6e19a",
            "phone_number": "+16187459424",
            "line_type": "Landline"
        }
    ],

Вы хотите, чтобы все номера телефонов были в массиве, аналогичном тому, что содержится в вашем ответе? Если это так, просто добавьте phones: res.data.business[i].phones к вашему объекту ChurchListing.

James 12.03.2019 20:21

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

Chris 12.03.2019 20:23

Если вам просто нужна точная копия, вам не нужно перебирать элементы.

James 12.03.2019 20:39
Поведение ключевого слова "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) для оценки ваших знаний,...
0
3
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Я исправил свою проблему. Я хотел нажать и массив объектов с двумя циклами for. ниже мой код и работает.

for(let i =0; i < res.data.business.length; i++ ){
                        for (let x = 0; x < res.data.business[i].phones.length; x++) {
                            churchListing.push({
                                name: res.data.business[i].name + '\n\r',
                                address: res.data.business[i].found_at_address.street_line_1 + '\n\r',
                                phone: res.data.business[i].phones[x].phone_number + '\n\r',
                            });
                        }

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