Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить результат работы цикла в виде массива. (https://javascript.ru/forum/misc/52158-kak-poluchit-rezultat-raboty-cikla-v-vide-massiva.html)

Tungus 08.12.2014 12:41

Что за зверь -"переменные с цифренным индикатором" ?

devote 08.12.2014 13:07

Цитата:

Сообщение от Tungus
Что за зверь -"переменные с цифренным индикатором" ?

он про эти переменные имел ввиду:
xd1
xd2
...
xdn

Tungus 08.12.2014 13:19

На самом деле можно переименовать любую переменную. Массив у меня обозван massive, о получается он в результате работы цикла. Я просто не нашел решения для своей задачи.
"Еще один вопрос. Возможно ли полученный массив вида [[x1,d1],[x2,d2],.....[xn,dn]] преобразовать в
xd1=[x1,d1];
xd2=[x2,d2];
.................
xdn=[xn,dn]

Я перечел все, что касается операторов для массивов и не смог решить."
Не понимаю как разбить массив из двумерного во множество одномерных. Ведь в реальности в [x1,d1] и x1 и d1 это числа.
Если просто преобразовать массив massive =[[x,d],[a,b],.....[c,h]], (количество одномерных массивов при работе скрипта может быть разное) в massive ={[x,d],[a,b],.....[c,h]} было бы нормально для моей задачи.

Deff 08.12.2014 13:21

Цитата:

Сообщение от Tungus (Сообщение 345476)
Что за зверь -"переменные с цифренным индикатором" ?

ок-енно - оцифренный :)

Цитата:

var a =

Tungus 08.12.2014 13:26

:yes:

Tungus 08.12.2014 13:44

Я правильно понял, что эта задача не решаема?

Deff 08.12.2014 13:59

Tungus,
Возможно всё, нужно только желание и настойчивость(мне лично лень вникать в эту задачу) Как то пытался решать задачу загрузки картинок с произвольного домена через стандартную форму и input type="file";
Через полгода рытья доков и идей - решил

krutoy 08.12.2014 14:01

Цитата:

Сообщение от Tungus
Я правильно понял, что эта задача не решаема?

В твоем случае как то так можно
x1=1
x2=2
d1=1
d2=2

arr=[, [x1,d1],[x2,d2]]

for(i=0; i<=arr.length; i++){window["xd"+i]=arr[i]}
console.log(
xd1, xd2
)
//  [ 1, 1 ] [ 2, 2 ]

Но в общем случае -- нет. У тебя в массиве нет никаких имен, только значения. Чтобы сделать как ты хочешь, надо массив заполнять не переменными, а строками

Tungus 08.12.2014 14:20

Если не трудно несколько разъяснений :
Массив у меня получен в результате работы цикла while.
Я объявил его перед циклом arr=[], теперь мне объявить его arr=[,]?
Я получаю его arr.push([x,d])
Количество [x,d]- будет меняться при каждом выполнении скрипта, в зависимости от количества итераций.
Тогда под console.log как написать?

krutoy 08.12.2014 14:37

Tungus,
Тебе проще не трахаться, а начинать нумерацию с нуля
x0=0
x1=1
d0=0
d1=1

arr=[[x0,d0],[x1,d1]]

for(i=0; i<=arr.length; ++i){window["xd"+i]=arr[i]}

console.log(
xd0, xd1
)
// [ 0, 0 ] [ 1, 1 ]


Часовой пояс GMT +3, время: 05:06.