<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>`;