Суть: Пользователь на сайте в форме заполняет данные, примерно такой вид данных на выходе - idUser, date1, date2 (причем он может внести несколько строк, с разными датами но idUser будет одинаковый соответственно).
Вопрос: Подскажите как мне создать объект и в цикле его наполнять этими данными, примерно как с массивом с помощью push ? (Хотелось бы, в дальнейшем из этого объекта вытягивать данные только по idUser например с помощью $.map)
Update: Хочу примерно такую структуру: var Data = { id : { n: [] } } - объект создаем
после заполнения данными:
var Data = {
id1 : { 1:[ date1, date2 ], 2:[ date1, date2 ] },
id2 : { 1:[ date1, date2 ], 2:[ date1, date2 ], 3:[ date1, date2 ] }
....
}
думаю вам подойдет следующая структура :
{
"1": [
{
"date1": "12.02.2017",
"date2": "12.022015"
},
{
"date1": "12.04.2017",
"date2": "12.05.2015"
}
],
"2": [
{
"date1": "11.04.2017",
"date2": "01.05.2015"
}
]
}
Где обьект местит в себе свойства, которые равны вашим id
, а уже ети свойства являються массивами обьектов, хранящих даты, вот пример реализации :
document.addEventListener('DOMContentLoaded', doIt);
var someObj = {};
function doIt() {
document.querySelector('#add').addEventListener('click', function() {
var id = document.querySelector('[name="id"]').value;
var _date1 = document.querySelector('[name="date1"]').value;
var _date2 = document.querySelector('[name="date2"]').value;
// если свойство обьекта someObj с именем id не существует
// создаем его и присваеваем ему пустой массив
if (someObj[id] === undefined) {
someObj[id] = [];
}
// тут пробегаем по массиву, смотрим есть ли уже такой елемент
// если есть то не добавляем (эт от себя добавил)
var add = true;
if (someObj[id].length > 0) {
someObj[id].forEach(function(e) {
if (e.date1 == _date1 && e.date2 == _date2) {
add = false;
}
});
}
// пушим наши даты в наш ид
if (add)
someObj[id].push({
date1: _date1,
date2: _date2
});
});
document.querySelector('#print').addEventListener('click', function() {
console.log(someObj);
});
};
ID:<input name="id" /><br/> Date:
<input name="date1" /><br/> Date2:
<input name="date2" /><br/>
<button id="add">add to object</button><br/>
<button id="print">print object in console</button>
<br/>
<div id="data"></div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Использую библиотеку higslide, хочу сделать галереюПри клике на изображение оно должно увеличиваться, но скрипт просто открывает изображение...
Подскажите,предусмотрено ли в google maps api возможность закраски каким-то своим цветом региона(области), скажем я хочу отметить регионы в которых...
Столкнулся с проблемой отправки писемПочитал разные статейки, в основном у людей проблема самой отправки и что-то в этом деле