Ir ao conteúdo

Javascript Como devo usar o JSON.filter ?


Ir à solução Resolvido por MailingTester,

Posts recomendados

Postado

Estou com a seguinte json:

{
  'ASDFofsadk0sdf0sdfadf': {
  	'validade': 1662904712462,
  },
  'adsf00afsd00432asdfa': {
  	'validade': 1662906819452,
  }
}

Onde queria extrair a validade expiradas, onde até então estava tentando realizar:

tokens.filter( element => element.validade <= new Date().getTime());

Meu objetivo seria filtrar da json cujo id.validade <= new Date().getTime()  (Tempo em milisegundos)

Postado

@MailingTester Se eu usar muitas vezes seguida o filter poderia acarretar um sobrecarregamento ?

 

Teria a opção de deixar em array da seguinte maneira...

 

[
  {
	'id': 'ASDFofsadk0sdf0sdfadf',
  	'validade': 1662904712462,
  },
  {
	'id': 'adsf00afsd00432asdfa',
  	'validade': 1662906819452,
  }
]

Porém para isso precisaria fazer um filter para poder consultar o tempo todo o ID especifico em vez de só pegar tokens[ID]

Postado
  Em 11/09/2022 às 22:55, Arthur Guillermo disse:

@MailingTester Se eu usar muitas vezes seguida o filter poderia acarretar um sobrecarregamento ?

 

Teria a opção de deixar em array da seguinte maneira...

 

[
  {
	'id': 'ASDFofsadk0sdf0sdfadf',
  	'validade': 1662904712462,
  },
  {
	'id': 'adsf00afsd00432asdfa',
  	'validade': 1662906819452,
  }
]

Porém para isso precisaria fazer um filter para poder consultar o tempo todo o ID especifico em vez de só pegar tokens[ID]

Expandir  

 

só usar:

 

let id = ...
tokens.filter( element => (element.validade <= new Date().getTime()) && (element.id == id));

 

  • Triste 1
Postado

@Felipe Gomes Certo, porém eu tava pesquisando e o filter parece que é lento comparado a um for ou um while, então valeria mais a pena deixar em json e usar por exemplo:

 

for (var token in tokens) {
    let token_ = tokens[token];
    let time = new Date().getTime();
    if (!isvalidToken(token)){
      removeToken(token);
	}
}

Acha que sim ou não ? Será que teria sobrecarregamento e talvez uma lerdeza por colocar como id e ter que pesquisar usando o id em vez de simplesmente poder usar tokens[token] ?

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!