Просмотр полной версии : создание объекта из 2х массивов с данными
хочу создать из 2х массивов объект вида:
obj = {x: {n: {'param1': y, 'param2': z}}}
где x - название берется из значений массива путем перебора
n - номер от 0 и более
y и z - переменные 1 и 2 из второго массива
подскажите, как это сделать правильно
первая же ошибка возникает при попытке передать имя (x) из массива напрямую obj.arr1['номер_параметра'] = ...
из 2х массивов вида:
obj = {x: {n: {'param1': y, 'param2': z}}}
Это не массив...
Это не массив...
ассоциативный массив ;)
Это не массив...
имелось ввиду что это структура объекта, которую нужно создать из 2х массивов
сорри, если не совсем корректно написал вопрос
это структура объекта, которую нужно создать из 2х массивов
Тогда где те массивы?
ассоциативный массив
Это как "Государь" и "милостивый государь"... :D
Тогда где те массивы?
первый массив
a = ('abc','cde',...);
второй массив
b = ('value1','value2')
второй массив имеет только 2 параметра, но для каждого элемента массива "a" параметры в массиве "b" будут разными и для одного элемента массива "a", массивов "b" - может быть "n" штук
как-то так
т.е. получить нужно что-то типа
obj = {
abc: {
0: {'param1': 'value1', 'param2': 'value2'},
1: {'param1': 'value1_1', 'param2': 'value2_2'},
...
n: {'param1': 'value1_n', 'param2': 'value2_n'}
},
cde: {
0: {'param1': 'value1_cde', 'param2': 'value2_cde'},
}
};
второй массив имеет только 2 параметра
Может таки два элемента?
первый массив
a = ('abc','cde',...);
второй массив
b = ('value1','value2')
...
но для каждого элемента массива "a" параметры в массиве "b" будут разными и для одного элемента массива "a", массивов "b" - может быть "n" штук
Так сколько у тебя массивов? :D
Явно не два!
Тогда где те массивы?
Может таки два элемента?
Так сколько у тебя массивов? :D
Явно не два!
массива два, просто второй временный и при переборе в цикле получает значения из других элементов цикла, в итоге, данных может быть сколько угодно, в зависимости от поставленной задачи, но общая структура именно такая
данных может быть сколько угодно, в зависимости от поставленной задачи, но общая структура именно такая
Странное у тебя понятие о структурах... :D
Странное у тебя понятие о структурах... :D
Так вы можете объяснить, как это сделать?
Как можно что-то делать если автор даже не может показать какими данными придется оперировать и что в итоге из них нужно сделать... :D
Причем забесплатно!
примерно в этом духе хочешь ты сделать?
var mas1 = ['a1', 'b1'];
var mas2 = ['a2', 'b2'];
var obj = {};
for (var i = 0, len = mas1.length; i < len; i++) {
obj[mas1[i]] = mas2[i];
}
console.log(obj);
да, только структура будет несколько иной (такой как в 1м посте)
т.е.: obj = {x: {n: {'param1': y, 'param2': z}}}
если б это был ассоциативный массив - сделал бы приблизительно так:
var mas1 = ['a1', 'b1'];
var mas2[0] = ['a2', 'b2'];
var mas2[1] = ['a21', 'b21'];
var mas2[2] = ['a211', 'b211'];
for (key in mas1) {
for (i=0; i<mas2.length; i++) {
obj[key][i]['param'+i] = mas2[i];
}
}
но как подобным образом сделать объект - непонятно
Как можно что-то делать если автор даже не может показать какими данными придется оперировать и что в итоге из них нужно сделать... :D
какая разница какие данные? текстовые данные, структура данных здесь роли не играет, вопрос был иной как создать объект из массивов, а не напишите мне полностью цикл создания объекта
obj = {x: {n: {'param1': y, 'param2': z}}}
проблема при создании данного объекта в создании, к примеру, элемента "х", если я пытаюсь его создать как-то так:
var obj = new Object;
...
obj.mas1[0] = ...;
хочешь денег за ответ на простейший вопрос? так ты бы сразу написал - дай денег... я б на тебя неделю не тратил бы...
если бы тут (http://javascript.ru/tutorial/object/intro) было подробнее описано о работе с объектами, так и вопрос бы не возник вовсе
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot