Предположим, есть фотоконкурс с категориями и данными о призах. Мы можем хранить данные в виде массива или объекта. Мне просто интересно, что лучше.Лучше использовать массив или объект для хранения структурированных данных?
пример массива: Пример
var contest = {
'name': 'Photo Contest',
'categories': [
{'name': 'landscape', 'type': 'single'},
{'name': 'portrait', 'type': 'single'},
{'name': 'food', 'type': 'single'},
],
'prizes': [
{'name': 'winner of the year', 'count': 1, 'cat': ''},
{'name': '1st', 'count': 1, 'cat': 'landscape'},
{'name': '2nd', 'count': 3, 'cat': 'landscape'},
{'name': '3rd', 'count': 5, 'cat': 'landscape'},
{'name': '1st', 'count': 1, 'cat': 'portrait'},
{'name': '2nd', 'count': 3, 'cat': 'portrait'},
{'name': '3rd', 'count': 5, 'cat': 'portrait'},
{'name': '1st', 'count': 1, 'cat': 'food'},
{'name': '2nd', 'count': 3, 'cat': 'food'},
{'name': '3rd', 'count': 5, 'cat': 'food'}
]
}
объект:
var contest = {
'name': 'Photo Contest',
'categories': {
'landscape': {'type': 'single'},
'portrait': {'type': 'single'},
'food': {'type': 'single'},
},
'prizes': {
'winner of the year': {'count': 1, 'cat': ''},
'landscape 1st': {'count': 1, 'cat': 'landscape'},
'landscape 2nd': {'count': 3, 'cat': 'landscape'},
'landscape 3rd': {'count': 5, 'cat': 'landscape'},
'portrait 1st': {'count': 1, 'cat': 'portrait'},
'portrait 2nd': {'count': 3, 'cat': 'portrait'},
'portrait 3rd': {'count': 5, 'cat': 'portrait'},
'food 1st': {'count': 1, 'cat': 'food'},
'food 2nd': {'count': 3, 'cat': 'food'},
'food 3rd': {'count': 5, 'cat': 'food'},
}
}
Делаю общую систему управления конкурсы. Пользователь Admin может создать новый конкурс, введя некоторую информацию (с разными категориями и призами). На первой странице будет отображаться информация и отображение.
Возможно, есть другие способы использования этих данных, например, запись победителей (после закрытия конкурса) или для поиска.
спасибо. Я редактировал сообщение. До сих пор отображение является основной функцией. Возможно, позже я буду расширять функции, такие как поиск и анализ данных, и так далее. –
@BrickYang Итак, как я уже сказал, похоже на отображение только на первой странице, лучший способ пойти с массивом, но поскольку вы хотите добавить эти данные для поиска, анализа и т. Д., Лучше идти с объектами. Если у вас нет объявлять массивы снова и снова, чтобы получить данные, что приводит к избыточности данных, что не является хорошей практикой. Надеюсь, это поможет :) – AVI