Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
Andy84

Как объединить два одномерных массива в один двумерный?

23.07.2009, 21:02. Показов 5553. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
В JavaScript разбираюсь не особо сильно... в процессе освоения...
Столкнулся с трудностями...
есть xml-фаил....
XML
1
2
3
4
5
<?xml version="1.0" encoding="windows-1251"?>
<list>
     <pos num="15" name="Дата1"/>
     <pos num="30" name="Дата2"/>
</list>
нужно создать массив так, что бы в нем были результаты произведения 15*0, 15*1, 15*2... 15*25, а потом 30*0, 30*1, 30*2... 30*25.
смог загнать данные по порядку(в начале все 15.. потом все 30) в одномерный массив
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var ListArray = new Array();
//перебор данных xml
for (var i = 0; i < list.length; i ++) {
        var posTMP = list.item(i);
        var numTMP = posTMP.attributes.getNamedItem("num");
        var nameTMP = posTMP.attributes.getNamedItem("name");
            numTMP = Number(numTMP.nodeValue);
                if(numTMP){
                    for(var b = 0; b < 25; b++){
                           var attr = numTMP * b;
                           ListArray.push(attr+'&'+ nameTMP.nodeValue);   
                    }
               }
 }
но этот вариант не очень удобен... хотелось бы что б каждая позиция xml шла в новом слое...
была идея создать два массива отдельно.. и потом их собрать в один многомерный... ни чего не вышло
если бы в xml было бы всего 2-5 позиции... можно было бы руками прописать... но их там куда больше и колличество не постоянное

подскажите пожалуйста как быть?... буду очень благодарен
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2009, 21:02
Ответы с готовыми решениями:

Как объединить два одномерных массива в один двумерный массив?
можно ли как нибудь объединить два массива в один ДВУМЕРНЫЙ МАССИВ? Заранее спсибо void klava2(int* &amp;a1, int* &amp;b1) { cout...

Объединить два одномерных массива в один двумерный массив, состоящий из двух столбцов
Объединить два одномерных массива в один двумерный массив, состоящий из двух столбцов. Помогите написать код на С++.

Объединить два одномерных массива и преобразовать вновь полученный массив в двумерный
даны два одномерных массива.Объединить их и преобразовать вновь полученный массив в двумерный

1
288 / 131 / 4
Регистрация: 15.02.2009
Сообщений: 520
24.07.2009, 15:15
Многомерные массивы(из книги Вадима Дунаева)
Массивы, рассмотренные выше, являются одномерными. Их можно представить
себе в виде таблицы из одного столбца. Однако элементы массива могут содержать данные различных типов, в том числе и объекты, а значит, и массивы. Если в качестве элементов некоторого одномерного массива создать массивы, то получится двухмерный массив. Обращение к элементам такого массива происходит в соответствии со следующим синтаксисом:
имя_массива[индекс_уровня1] [индекс_уровня2]
Если массив имеет размерность, большую двух, то синтаксис обращения к массивам имеет аналогичный синтаксис: следует добавить нужное количество квадратных скобок, заключающих нужные индексы.
Типичным примером двухмерного массива является массив опций меню. У такого меню есть горизонтальная панель с опциями, называемая главным меню. Некоторым опциям главного меню соответствуют раскрывающиеся вертикальные подменю со своими опциями. Мы создаем массив, длина которого равна количеству опций главного меню. Элементы этого массива определяем как массивы названий опций соответствующих подменю. Чтобы была ясна структура нашей конструкции, мы выбрали названия опций надлежащим образом. Например, "Меню 2.1" — название 1-й опции подменю, соответствующего 2-й опции главного меню.
menu=new Array();
menu[0]=new Array("Меню 1.1", "Меню 1.2", ", "Меню 1.3");
menu[l]=new Array("Меню 2.1", "Меню 2.2");
menu[2]=new Array("Меню 3.1", "Меню 3.2" , "Меню 3.3", "Меню 3.4");
Чтобы обратиться ко 2-й опции 3-го подменю, следует написать:
menu[2][l]//значение равно "Меню 3.2"
Усложним нашу конструкцию, чтобы она содержала не только названия опций
подменю, но и названия опций главного меню:
menu=new Array();
/*Массив опций главного меню:*/
menu[0]=new Array("Меню!", "Меню2", "МенюЗ");
menu[l]=new Array();
menu[l][0]=new Array("Меню 1.1", "Меню 1.2", "Меню 1.3");
menu[l][l]=new Array("Меню 2.1", "Меню 2.2");
menu[l][2]=new Array("Меню 3.1", "Меню 3.2" , "МенюЗ.3", "Меню 3.4");
menu[0][l]//значение равно "Меню 2"
menu[0][2]//значение равно "Меню 3"
menu[l][1][0]//значение равно "Меню 2.1"
menu[1][2][3]//значение равно "Меню 3.2"



Эта функция позволяет параллельно запихивать в обычный массив несколько разных данных, создавая иллюзию многомерности.
Если я правильно понял, то тебе нужно будет делать вложенный цикл, так как ты не знаешь сколько нужно этих строк oneMulti[i+(el*№)]="?"+i;.
В конфирме хорошо видно как заполняется массив.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><html><head>
<title>Одномерно-многомерный массив</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<meta name="generator" content="CSE HTML Validator Халявной Версии">
<link rel="stylesheet" type="text/css" href="*.css">
<script type="text/javascript" src="arrayJ.js"></script>
</head>

<body>

<script type="text/javascript"><!--
oneMultiArray();
function oneMultiArray(){
var oneMulti=new Array();
var el=7;//количество элементов
for(var i=0; i!=el; i++){
//количиство данных записываемых одновременно для каждого элемента
oneMulti[i+(el*0)]="A"+i;//реально так - oneMulti[i]="A"+i;//
oneMulti[i+(el*1)]="B"+i;//реально так - oneMulti[i+el]="B"+i;
oneMulti[i+(el*2)]="C"+i;
oneMulti[i+(el*3)]="D"+i;
oneMulti[i+(el*4)]="E"+i;
//........
//oneMulti[i+(el*№)]="?"+i;
var C=confirm("ESC - продолжить, ОК - прервать\n"+oneMulti); if (C==true){return;};
};//end for
alert(oneMulti);
};//end function oneMultiArray()
--></script>

</body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2009, 15:15
Помогаю со студенческими работами здесь

Даны два отсортированных одномерных массива, объединить их в один, тоже отсортированный
Даны два отсортированных одномерных массива, объединить их в один, тоже отсортированный. Помогите пожалуйста с решением!!!Очень...

Объединить два одномерных массива в один, включив второй массив между k-м и (k+1)-м элементами первого
Помогите составить программу. Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить их в один...

Два двумерных массива объединить в один двумерный
Даны два двумерных массива LL; PER; Нужно их объединить в один Mas чтобы порядок чисел сохранился

Foreach Два двумерных массива объединить в один двумерный
У меня есть 1 массив из всеми данными array(2) { =&gt; array(7) { =&gt; string(1) &quot;3&quot; =&gt; string(1)...

Заданы два одномерных массива.Объединить их в один массив, включив второй массив между K и (K+1) элементами первого
Последняя на сегодня... Заданы два одномерных массива: массив А размера M и массив В размера N. Объединить их в один массив, включив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru