Javascript.RU

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

Перебрать в цикле многомерный массив на JQuery
Отцы, помогайте. Я сервер-сайд недопрограммер. В JQuery полный пень, но стоит задача написать калькулятор для сайта доставки.

Пользователь задаёт вес и город доставки, к последнему привязана стоимость доставки и срок доставки.

Как я понимаю, JQuery как таковой, многомерные массивы не поддерживает, поэтому, для создания подобного массива, нужно создать объект.

Создал.

var Towns = [{"Москва", 1000, 1 }, {"Урюпинск", 5000, 5}, {"Бобруйск", 3000, 3}]


Получаю от пользователя переменную town == "Москва"

Понимаю, чтобы извлечь значения привязанные к городу, нужно перебрать массив в цикле, найти массив, где 0 == "Москва" и взять элементы массива 1 и 2. И на этом мои познания синтаксиса обрываются

Поиском по форуму пользовался, и что-то без результатов вообще. Может само определение "многомерный массив" неверно?

Нашёл ответ, тему можно убивать.

Последний раз редактировалось arachnoz, 26.06.2012 в 02:11. Причина: Нашёл ответ на вопрос, закройте пожалуйста тему!
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2012, 11:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от arachnoz
{"Москва", 1000, 1 }
Что это такое?
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2012, 11:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от arachnoz
Как я понимаю, JQuery как таковой, многомерные массивы не поддерживает
В JS можно создавать и обрабатывать многомерные массивы... JQuery написан на JS...
Отсюда делаю вывод - ты не верно понимаешь.
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2012, 15:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

arachnoz,
Такая запись базы не удобнее ?

<script type="text/javascript">
var Towns = {Москва:[1000, 1], Урюпинск:[5000, 5], Бобруйск:[3000, 3]}

alert(Towns.Москва);
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2012, 20:12
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Большое спасибо за ответы! И, кстати, хочу поблагодарить вас не только за ответы мне, но и вообще за ваши ответы на форуме - они мне не раз пригодились.

2 Ksa Наверняка я туплю, если бы я был мегаJSкодером, я вряд ли бы задавал здесь вопросы Однако, то, что Вы сможете увидеть ниже - в программировании называется объект, а не массив.

2 Deff За ночь я немного повысил свой JS - skill и даже написал полурабочий скрипт.

База сделана сейчас таким образом:

var twn ={
'Абакан':{'tim':'9-12','pr1':3150,'pr2':90,'pr3':87,'pr4':83,'pr5':68,'pr6':65,'pr7':62},
'Альметьевск':{'tim':'5-7','pr1':2520,'pr2':72,'pr3':69,'pr4':65,'pr5':53,'pr6':50,'pr7':47}};


И я могу вытащить из неё нужные параметры, используя название города как ключ массива.

Типа:

twn['Чебоксары']['pr7']


Однако, у меня возник вопрос с перебором всех городов в цикле, эта фишка нужна, потому, что я использую JQuery Autocomplete в форме ввода.

Она принимает параметр сюда:

$("#from").autocomplete({
    source: одномерный массив
  });


И вооооот... Что туда подсунуть - я ума не приложу.
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2012, 20:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от arachnoz
Однако, то, что Вы сможете увидеть ниже - в программировании называется объект, а не массив.
Я спросил про то, что процитировал из твоего сообщения. Это вообще не понятно что...
Сообщение от arachnoz
используя название города как ключ массива
Это уже не массив. А таки объект.
Сообщение от arachnoz
у меня возник вопрос с перебором всех городов в цикле
Перебрать все свойства объекта может
http://javascript.ru/for..in
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2012, 20:25
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

2 Ksa - а Вы, батенька, буквоед

Большое спасибо за ответ, пойду ковырять!
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2012, 20:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от arachnoz
а Вы, батенька, буквоед
Когда пишешь на нескольких языках сразу ооочень важно чтобы тебя понимали и те и другие.
Если использовать слова без разбора - тебя вообще понимать перестанут...
Ответить с цитированием
  #9 (permalink)  
Старый 26.06.2012, 20:37
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Это точно. Но вроде бы синтаксис PHP и JS - схожий с C Соответственно, и определения.

Я просто впервые столкнулся с объектами в таком виде %) Вот, наворотил БД - полное биде... Теперь думаю, как вообще обратиться к городу в моей импровизированной базе данных.

Как к массиву не выходит twn [0] - выдаёт undefined. А как к чему?

Как к объекту?
for var ЧТО in twn


И где смайл, с чуваком бьющимся о клаву? Он про меня.
Ответить с цитированием
  #10 (permalink)  
Старый 26.06.2012, 20:44
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Постепенно осознаю, что я дебил и действительно нужно было сделать БД в виде указанном Deff. Тогда можно было бы обращаться по номеру элемента в массиве. Мне ведь и не нужны эти дополнительные значения переменных в массиве. И из Excel быбл бы проще делать БД - в csv перегнал и подправил синтаксис.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возвращаемый массив jQuery селектора HelpeR jQuery 11 26.06.2012 16:16
jquery не работает в цикле alexus jQuery 3 03.09.2011 14:49
Многомерный массив javascript simple Общие вопросы Javascript 20 03.11.2010 02:11
ajax и многомерный массив cat9 AJAX и COMET 1 03.10.2010 15:25
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14