Как создать новый массив из массива внутри объекта?
Использую 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, время: 03:39. |