Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.08.2014, 20:03
Mir Mir вне форума
Интересующийся
Отправить личное сообщение для Mir Посмотреть профиль Найти все сообщения от Mir
 
Регистрация: 24.08.2014
Сообщений: 25

из массива в разные переменные
вот часть массива

var arr = []
arr[11] = "this, '001', 'qw2', '1234', '48', 'Black'";
arr[12] = "this, '002', 'qw3', '1234', '48', 'Grey'";
arr[13] = "this, '003', 'qw4', '1234', '48', 'Black'";
arr[14] = "this, '004', 'qw5', '3214', '50', 'Grey'";
arr[15] = "this, '005', 'qw6', '2134', '50', 'Black'";


Как разбить arr[i], чтобы значения были в разных переменных?
Ответить с цитированием
  #2 (permalink)  
Старый 24.08.2014, 20:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,150

Сообщение от Mir
Как разбить arr[i], чтобы значения были в разных переменных?
Как вариант...

var arr = []
arr[11] = "this, '001', 'qw2', '1234', '48', 'Black'";
arr[12] = "this, '002', 'qw3', '1234', '48', 'Grey'";
arr[13] = "this, '003', 'qw4', '1234', '48', 'Black'";
arr[14] = "this, '004', 'qw5', '3214', '50', 'Grey'";
arr[15] = "this, '005', 'qw6', '2134', '50', 'Black'";
var i=11;
var a=arr[i].split(', ');
alert(a);
Ответить с цитированием
  #3 (permalink)  
Старый 24.08.2014, 20:29
Mir Mir вне форума
Интересующийся
Отправить личное сообщение для Mir Посмотреть профиль Найти все сообщения от Mir
 
Регистрация: 24.08.2014
Сообщений: 25

Сообщение от ksa Посмотреть сообщение
Как вариант...
Будет строка this, '001', 'qw2', '1234', '48', 'Black'
а как эту строку разбить на разные переменные? что-бы, например, было
var t1=this
var t2='001'
var t3='qw2'
var t4='1234'
var t5='48'
var t6='Black'
Ответить с цитированием
  #4 (permalink)  
Старый 24.08.2014, 20:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,150

Сообщение от Mir
Будет строка this, '001', 'qw2', '1234', '48', 'Black'
Не строка, а массив. Это алерт его преобразовывает...
Ответить с цитированием
  #5 (permalink)  
Старый 24.08.2014, 20:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,150

Сообщение от Mir
а как эту строку разбить на разные переменные? что-бы, например, было
var t1=this
var t2='001'
var t3='qw2'
var t4='1234'
var t5='48'
var t6='Black'
Как вариант...

var arr = []
arr[11] = "this, '001', 'qw2', '1234', '48', 'Black'";
arr[12] = "this, '002', 'qw3', '1234', '48', 'Grey'";
arr[13] = "this, '003', 'qw4', '1234', '48', 'Black'";
arr[14] = "this, '004', 'qw5', '3214', '50', 'Grey'";
arr[15] = "this, '005', 'qw6', '2134', '50', 'Black'";
var i=11;
var a=arr[i].split(', ');
for (var j=0; j<a.length; j++) {
   window['t'+j]=a[j];
};
alert(t0);
alert(t1);
alert(t2);

Только нафига такое? Работай с массивом "a"...

Последний раз редактировалось ksa, 24.08.2014 в 20:36.
Ответить с цитированием
  #6 (permalink)  
Старый 24.08.2014, 20:52
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

В ES6 есть такое, как destruction assignment. Выглядит так:
var variables = {x: 0, y: 1, z: 2};
var {x, y, z} = variables;

console.log(x); //0
console.log(y); //1
console.log(z); //2

Пока что ES6 даже не утвержден, поддерживается это только в файрфоксе, но можно использовать трансляторы в ES5. Как вариант - https://github.com/termi/es6-transpiler.

Последний раз редактировалось Erolast, 24.08.2014 в 20:55.
Ответить с цитированием
  #7 (permalink)  
Старый 24.08.2014, 20:53
Mir Mir вне форума
Интересующийся
Отправить личное сообщение для Mir Посмотреть профиль Найти все сообщения от Mir
 
Регистрация: 24.08.2014
Сообщений: 25

Сообщение от ksa Посмотреть сообщение
Как вариант...
Только нафига такое? Работай с массивом "a"...
То есть так?
var arr = []
arr[11] = "this, '001', 'qw2', '1234', '48', 'Black'";
arr[12] = "this, '002', 'qw3', '1234', '48', 'Grey'";
arr[13] = "this, '003', 'qw4', '1234', '48', 'Black'";
arr[14] = "this, '004', 'qw5', '3214', '50', 'Grey'";
arr[15] = "this, '005', 'qw6', '2134', '50', 'Black'";
var i=11;
var a=arr[i].split(', ');

var t1=a[0];
var t2=a[1];
var t3=a[2];
var t4=a[3];
var t5=a[4];
var t6=a[5];

и еще добавить цикл...
Ответить с цитированием
  #8 (permalink)  
Старый 24.08.2014, 20:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,150

Сообщение от Mir
То есть так?
Нет...
Работай просто как с массивом

alert(a[0]);
alert(a[1]);
alert(a[2]);
//...

Т.е. другие переменные и не нужны...
Ответить с цитированием
  #9 (permalink)  
Старый 24.08.2014, 20:57
Mir Mir вне форума
Интересующийся
Отправить личное сообщение для Mir Посмотреть профиль Найти все сообщения от Mir
 
Регистрация: 24.08.2014
Сообщений: 25

Сообщение от ksa Посмотреть сообщение
Нет...
Работай просто как с массивом

alert(a[0]);
alert(a[1]);
alert(a[2]);
//...

Т.е. другие переменные и не нужны...
Понял. Супер! Спасибо! Благодарю!
Ответить с цитированием
  #10 (permalink)  
Старый 24.08.2014, 20:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,150

Заходи еще...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Индивидуальные переменные в each Spamol jQuery 6 08.12.2012 14:34
Передать переменные по ссылке href в разные функции izcian Общие вопросы Javascript 3 22.08.2012 19:31
из массива json в (php) переменные Sadist_dead Работа 2 25.08.2011 17:23
из массива json в (php) переменные Sadist_dead AJAX и COMET 6 24.08.2011 22:58