Coder Social home page Coder Social logo

json-groupby's People

Contributors

gagan-bansal avatar prashantswami avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

json-groupby's Issues

properties can be a single string

Convention over configuration.

var group = groupBy(array, properties [, collect])

Right now properties is an array, I think can be a string in case of single property.

json groupBy transform a key into array

Hi,

Thanks for this package, I using it and liked.
I have a problem with a json here:

[
    {
        "id_programacao": 1,
        "evento": "TESTE PROGRAMACAO 1",
        "descricao_evento": "teste usando o NodeJS",
        "tipo_evento": "Palestra",
        "local": "PRODAM",
        "hora_inicio": "2016-10-10T22:26:15.000Z",
        "hora_fim": "2016-10-13T22:26:22.000Z",
        "id_palestrante": 2,
        "nome": "Bruno Mendes",
        "cargo": "Analista",
        "empresa": "PRODAM",
        "curriculum": "Tem muito que aprender ainda... ¬¬"
    },
    {
        "id_programacao": 1,
        "evento": "TESTE PROGRAMACAO 1",
        "descricao_evento": "teste usando o NodeJS",
        "tipo_evento": "Palestra",
        "local": "PRODAM",
        "hora_inicio": "2016-10-10T22:26:15.000Z",
        "hora_fim": "2016-10-13T22:26:22.000Z",
        "id_palestrante": 1,
        "nome": "Rodolfo Azevedo",
        "cargo": "Programador",
        "empresa": "PRODAM",
        "curriculum": "Esse bixo manja velho"
    },
    {
        "id_programacao": 2,
        "evento": "TESTE PROGRAMACAO 2",
        "descricao_evento": "teste usando o Java",
        "tipo_evento": "Palestra",
        "local": "PRODAM",
        "hora_inicio": "2016-10-14T22:26:15.000Z",
        "hora_fim": "2016-10-15T22:26:22.000Z",
        "id_palestrante": 3,
        "nome": "Bruno do Mobile",
        "cargo": "Programador",
        "empresa": "PRODAM",
        "curriculum": "Até nos feriados"
    }
]

I have id_programacao: 1, but I have two id_palestrantes in this programacao, I like to transform this json to this:

[
    {
        "id_programacao": 1,
        "evento": "TESTE PROGRAMACAO 1",
        "descricao_evento": "teste usando o NodeJS",
        "tipo_evento": "Palestra",
        "local": "PRODAM",
        "hora_inicio": "2016-10-10T22:26:15.000Z",
        "hora_fim": "2016-10-13T22:26:22.000Z",
        palestrantes: [
          {
             "id_palestrante": 2,
             "nome": "Bruno Mendes",
             "cargo": "Analista",
             "empresa": "PRODAM",
             "curriculum": "Tem muito que aprender ainda... ¬¬"
          },
          {
             "id_palestrante": 1,
             "nome": "Rodolfo Azevedo",
             "cargo": "Programador",
             "empresa": "PRODAM",
             "curriculum": "Esse bixo manja velho"
          }
       ]
    },
    {
        "id_programacao": 2,
        "evento": "TESTE PROGRAMACAO 2",
        "descricao_evento": "teste usando o Java",
        "tipo_evento": "Palestra",
        "local": "PRODAM",
        "hora_inicio": "2016-10-14T22:26:15.000Z",
        "hora_fim": "2016-10-15T22:26:22.000Z",
        "id_palestrante": 3,
        "nome": "Bruno do Mobile",
        "cargo": "Programador",
        "empresa": "PRODAM",
        "curriculum": "Até nos feriados"
    }
]

Can you help me ?

Thanks and Regards.

[feature request] nested array

This library is very useful and the syntax make it easy to understand (very close to pandas a Python data manipulation library). However I see a missing feature that concern recurring use case .

Given the example of a book store, I retrieve the list of books with their title and the list of their authors.

  {
    "title": "",
    "author": [
      {
        "given": "",
        "family": "",
        "affiliation": []
      },
      {
        "given": "",
        "family": "",
        "affiliation": []
      },
]

Then I want to group those books by authors. (This append a lot when you have entities with a relation where books asMany authors.

Your library could implement a SQL like syntax to specify on which property inside the array you want to group

groupBy(books, ['author.given'])

One solution to tackle this would be to add a temporary array tmp that contain the property given for each author then use the group by as for tags

  books.forEach(function(item) {
      item.tmp = item['authors'].map(function(x) {
         return x.['given'];
      })
  });

groupBy(books, ['tmp'])

I believe this feature will complete the coverage of this library in terms of grouping and manipulating JSON Objects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.