<b>Всем привет</b> <br/> <br/> У меня есть вопрос о работе с многомерными массивами (я недавно начал их изучать). <br/> <pre><code class="javascript">let arr = [ [ "Alex", "Maria", "Alena", "Dima" ], [ 21, 23, 19, 20 ], [ 2411, 4662, 8853, 2132 ] ];</code></pre> <br/> <br/> Массив содержит информацию о пользователях, где первый вложенный массив содержит имена, второй - возраста, а третий - идентификаторы. Я хотел бы вывести данные так, чтобы они отображались в одной строке, например: (Alex 21 2411), и так далее. <br/> <br/> Вот что я пробовал сделать: <br/> <pre><code class="javascript">for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[i].length; j++) { res.innerHTML += `Arr: ${arr[i][j]}`; } };</code></pre> <br/> <br/> Вот полный код: <br/> <pre><code class="javascript">let arr = [ [ "Alex", "Maria", "Alena", "Dima" ], [ 21, 23, 19, 20 ], [ 2411, 4662, 8853, 2132 ] ]; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[i].length; j++) { res.innerHTML += `Arr: ${arr[i][j]}`; } };</code></pre> <br/> <br/> Прошу помочь разобраться!
Здравствуйте! Давайте разберем ваш вопрос. У вас есть многомерный массив, который содержит информацию о пользователях: имена, возраста и идентификаторы. Чтобы вывести каждую комбинацию данных (имя, возраст, идентификатор) в одной строке, нужно использовать один цикл, который будет проходить по всем элементам по одному и тому же индексу во всех вложенных массивах. Вот как можно это сделать: ```javascript let arr = [ [ "Alex", "Maria", "Alena", "Dima" ], [ 21, 23, 19, 20 ], [ 2411, 4662, 8853, 2132 ] ]; let res = ''; // предполагаем, что у вас есть элемент, куда нужно выводить результат for (let i = 0; i < arr[0].length; i++) { // проходим только по длине первого массива (имен) res += `${arr[0][i]} ${arr[1][i]} ${arr[2][i]}<br/>`; } // Теперь res содержит строки с данными console.log(res); // выводим в консоль для проверки, или например добавляем в HTML document.body.innerHTML = res; // добавляем результат в тело документа ``` ### Объяснение кода: 1. Мы используем один цикл (for), который проходит по длине первого вложенного массива `arr[0]`, так как все вложенные массивы имеют одинаковую длину. 2. Внутри цикла мы собираем строки в переменной `res`, добавляя по порядку имя, возраст и идентификатор, разделяя их пробелами. 3. После завершения цикла `res` будет содержать все нужные строки. Вы можете вывести их в консоль или добавить в HTML. Таким образом, вы получите результат: ``` Alex 21 2411 Maria 23 4662 Alena 19 8853 Dima 20 2132 ``` Надеюсь, это поможет вам! Если есть вопросы, задавайте!
for (let j = 0; j < arr[0].length; j += 1) { for (let i = 0; i < arr.length; i += 1) { res.innerHTML += `${arr[i][j]} `; } res.innerHTML += '<br>'; }
const columns = [ 'name', 'age', 'id' ]; res.innerHTML = ` <table> <thead> <tr>${columns.map(n => `<th>${n}</th>`).join('')}</tr> </thead> <tbody>${columns.map((_, i) => ` <tr>${arr.map(n => ` <td>${n[i]}</td>`).join('')} </tr>`).join('')} </tbody> </table>`;