Как создать новый массив из массива внутри объекта?
Использую fullcalendar, которому для получения событий в календарь нужен массив. Сейчас я получаю объект flowJs, внутри которого есть нужный мне массив events. Вопрос: как выбрать этот массив в другую переменную или сделать на него ссылку.
Пример: var flowJs = { "user": "admin", "active": true, "methodService": 1, "events": [ { "title": "Alex Smith", "start": "2016-06-15", "end": "2016-06-15", }, { "title": "John Smith", "start": "2016-06-16", "end": "2016-06-16", }] } Чтобы получить: var events = [ { "title": "Alex Smith", "start": "2016-06-15", "end": "2016-06-15", }, { "title": "John Smith", "start": "2016-06-16", "end": "2016-06-16", }] Спасибо больше за помощь! |
Enkille,
:-? var events = flowJs.events ; |
Enkille, есть два способа:
var events = flowJs.events; //или так: var events = flowJs['events']; |
Подскажите пожалуйста правильный ли принцип запись данных в объект...
if(!(aJSON.data.Id in Data)){ // проверка наличия Data[aJSON.data.Id] = {}; // новый {} для ID если его нет в Data } Data[aJSON.data.Id].name = aJSON.data.name; var ReTMP = []; for(var d = 1; d < 5; d++){ // так надо... с "1" :) ReTMP.push(Number(aJSON.data.prod[d])); ReTMP.push(Math.round(aJSON.data.stor[d])); ReTMP.push(Number(aJSON.data.cap[d])); } Data[aJSON.data.Id].Re = ReTMP; // массив 13 addSum('Re', ReTMP); function addSum(item, Data){ if(!("total" in Data)){ Data["total"] = {}; Data["total"].name = "Всего"; } for(var i = 1; i < 13; i ++){ // так надо... с "1" :) itemDataSum[i] = itemDataSum[i] + Data[i]; } Data.total[item] = itemDataSum; // исправил... } aJSON.data - объект, часть его данных надо переписать в объект Data Вид объекта Data: Data = { ID1: { name: "Имя", Re: [1,4,65,2 ..... ] } ID2: { .... } ............... total: { name: "Всего", Re: [1,4,65,2 ..... ] } } Что то данные по отдельности консоль выводит... а при записи в объект не пашет. |
Benos,
в строке 22 ничего странного не видите, вы или консоль? |
забыл добавить...
aJSON.data.Id - число, возможно играет роль |
Цитата:
изначально было так... Data[total][item] = itemDataSum; потом Data.total[item] = itemDataSum; |
Benos,
если вопрос остался сделайте нормальный макет, чтобы не гадать что такое itemDataSum |
Кажись понял где косяк...
addSum('Re', ReTMP); //вызываю функцию с двумя параметрами function addSum(item, Data){ // item = 'Re', ReTMP = Data но это не та "Data"... которая объект... это массив ReTMP и в нем я пытаюсь найти ID и записать данные ) З.Ы. Общение с умными людьми... просветляет :) |
все таки косяк не нашел...
похоже что то в функции addSum криво... собрал макет данных JSON ответа и функцию обработки... все пашет, кроме суммирования... Если есть возможность посмотрите пожл. кто-нибудь... https://jsfiddle.net/Benos/3v95bjw5/ |
Часовой пояс GMT +3, время: 16:55. |