Я пытаюсь проанализировать под-объекты объекта Javascript, чтобы подсчитать количество под-объектов, которые являются одинаковыми, и вернуть новый объект JSON с этими значениями. Это, наверное, не очень понятно, так вот fiddle.Подсчет дублирующих объектов в массиве объектов Javascript
Учитывая crsListData
в скрипке, я хотел бы вернуться в следующем:
objToReturn = [
{
key: "Consigned",
values:
[
{ mapKey: 2007 (4), mapVal: [["Ford F-150 (3)"], ["Honda Civic (1)"]] },
{ mapKey: 2011 (1), mapVal: "Toyota Camry (1)" },
{ mapKey: 2005 (1), mapVal: "Dodge RAM (1)" }
]
},
{
key: "Run",
values:
[
{ mapKey: 2007 (2), mapVal: "Ford F-150 (2)" },
{ mapKey: 2011 (1), mapVal: "Toyota Camry (1)" }
]
},
{
key: "Sold",
values:
[
{ mapKey: 2007 (1), mapVal: "Ford F-150 (1)" },
{ mapKey: 2011 (1), mapVal: "Toyota Camry (1)" }
]
}
];
Если вы заметите в скрипке, я комментировал часть о mapKey и mapValue. Они будут определяться параметрами функции, полученными из опции выбора для заказа по модели (счет)/году (счет) или году (счет)/модели (счет).
Моя конечная цель здесь, чтобы генерировать HTML-дерево, которое по существу выглядит следующим образом:
отправляемые (# консигнационного)
- 2007 (общее количество моделей 2007)
- Модель 1 (кол-во)
- Модель 2 (кол-во)
- 2011 (общее количество моделей 2007)
- 2007 (общее количество моделей 2007)
Run (# бега)
- 2007 (общее количество моделей 2007)
- Модель 1 (кол)
- Модель 2 (кол-во)
- 2011 (общее количество моделей 2007 года)
- 2007 (общее количество моделей 2007)
- Продан (такой же, как указано выше)
Порядок лет должны быть основаны на общем количестве моделей на этот год (первый высокий #). Точно так же порядок моделей в течение лет должен быть упорядочен по наивысшему счету.
В качестве альтернативы, если пользователь выбирает модель/год для группировки, Я хотел бы произвести:
консигнационного (# консигнационного)
- Model1 (общее количество этой модели за все годы)
- год 1 (кол-моделей в этом году)
- год 2 (количество моделей в этом году)
- Model2 (общее количество этой модели за все годы)
- Model1 (общее количество этой модели за все годы)
Run (# бега)
- Model1 (общее количество этой модели за все годы)
- Год 1 (кол-во моделей на этот год)
- Год 2 (кол-во моделей на этот год)
- Model2 (общее количество этой модели за все годы)
- Model1 (общее количество этой модели за все годы)
- Продан (такой же, как указано выше)
Упорядочение это будет основываться на подсчете, а также. Дайте мне знать, если вам нужно разъяснение! Благодаря!
que сценарий kiddie лавина «это не json» 5, 4, 3 – dandavis
@WillWeld, это не json. JSON является * обозначением *. У вас есть * JavaScript Object *. –
@ExplosionPills Ой ... изменил название - лучше? Редактировать: Я ужасен с семантикой. Является objToReturn массив JSON объектов Javascript? Или это объект Javascript с под-объектами? –