2012-02-21 7 views
0

Я даже не уверен, что это плохая практика или нет, и вам нужно изменить, но хотите убедиться. Похоже, это не влияет на производительность.Лучший способ создания множества массивов?

У меня есть плагин с множеством опций. Пользователь может ввести параметры в следующем формате:

speed: "in,out > in,out > in,out" 

Каждая группа настроек «выдох» относится к HTML-элементу, анимационного - отделены друг от друга «>». Вышеуказанная установка скорости включения/выключения анимации для 3 разных объектов. Теперь все работает отлично во всех браузерах, но мне пришлось создать массу массивов для обработки всех настроек. В основном есть массив, который содержит все параметры speed_in (object1, object2, object3), speed_out, effect_in и т. Д.

В принципе, у меня есть блок кода, представляющий собой ничего, кроме создания массивов для этих множеств, например так:

var speed_in_set = [], speed_out_set = [], effect_in_set = [], effect_out_set = [] .... 

имена массивов основаны от оригинального по умолчанию настройки названия:

speed: ... effect: ... 

Моя догадка, чтобы сделать это более эффективным является перебрать дефолтов ключевых имен и добавьте _on_set и _off_set для создания нового массива для каждого из них, но нет Идея, как это сделать, и если мне даже нужно беспокоиться о слишком большом количестве массивов. Спасибо!

ответ

2

JSON - превосходная техника для сложных структур массивов, особенно для пар значений/имен. Широко используется и быстро.

EDIT: пример.

Вы можете добавить дополнительные свойства, добавив больше элементов, вместо создания нового массива. Некоторые из них искали на JSON на этом сайте, и вы найдете несколько интересных примеров. У меня есть один набор данных, называемый «данные», но вы можете добавлять другие для других целей, все в JSON-объекте. Это действительно похоже на небольшую базу данных.

<script type='text/javascript'> 
var myData = {"data":[ 
    {'speed_in_set':10,'speed_out_set':5,'effect_in_set':15,'effect_out_set':200.1}, 
    {'speed_in_set':15,'speed_out_set':5,'effect_in_set':15,'effect_out_set':200.1, 'color':'red'} 
    ] 
}  

alert(myData.data[0].speed_in_set) 
alert(myData.data[1].speed_in_set) 
alert(myData.data[1].color) 
</script> 
+0

Структуры массивов не являются сложными, их всего лишь множество. – Aaron

+0

В JSON вы используете именованные значения вместо нескольких массивов. Это намного чище - плюс вы можете сохранить его в виде текстового блока в БД и легко получить его с помощью AJAX. –

+0

Может ли кто-нибудь предоставить образец кода, который поможет мне понять? Извините, но я не понимаю, как JSON можно использовать для более эффективного создания нескольких массивов, хранящих мои значения. Благодаря! – Aaron