Pesquisar Json em um campo Data, Javascript

[CODE]
var usuarios = [
{nome: “João”, id: 1, dataInicio: 15/02/2016},
{nome: “Maria”, id: 2, dataInicio: 17/02/2016},
{nome: “José”, id: 3, dataInicio: 16/02/2016},
{nome: “Ana”, id: 4, dataInicio: 10/02/2016},
];

function getId(nome) {
for (var i = 0; i < usuarios.length; i++) {
if (usuarios[i].nome == nome) return i;
}
}

console.log(getId(‘Maria’)); // dá 2
[/CODE]

Gostaria de uma funçao em Javascript, que possa pesquisar entre datas de: 10/02/2016 até 15/02/2016 e traria

[CODE]
var usuarios = [
{nome: “João”, id: 1, dataInicio: 15/02/2016},
{nome: “Ana”, id: 4, dataInicio: 10/02/2016},
];

[/CODE]

Recomendo fortemente vc manipular datas usando o MomentJS.

1 curtida

Como disse @Lucas_Camara, utilize o framework Javascript MomentJS, com o isBetween

CDN

https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment-with-locales.min.js 

Codigo

var usuarios = [
    {nome: "João", id: 1, dataInicio: '15/02/2016'},
    {nome: "Maria", id: 2, dataInicio: '17/02/2016'},
    {nome: "José", id: 3, dataInicio: '16/02/2016'},
    {nome: "Ana", id: 4, dataInicio: '10/02/2016'},
];

function isBetween(dataInicio, dataFim, lista)
{
     var dI = moment(dataInicio, "DD/MM/YYYY");
     var dF = moment(dataFim, "DD/MM/YYYY");
     var dL = [];
     for(var i = 0; i < lista.length; i++)
     {
        if (moment(lista[i].dataInicio, "DD/MM/YYYY").isBetween(dI, dF, null, '[]'))
        {        
        	   dL.push(lista[i]);             
        }
     }
     return dL;
}

console.log(isBetween("10/02/2016", "15/02/2016", usuarios));

Observação: na DataInicio eu coloque aspas, entre a data.

DEMO

1 curtida

funfou, obrigado pelas dicas, deu certo.

1 curtida