Ir ao conteúdo
  • Cadastre-se

Javascript Como posso fazer esse tipo de busca?


Posts recomendados

Tava querendo aprender realizar aplicações em tempo real com nodejs.... então realizei um servidor websocket que manda informação para o site (Até então tudo certo)

 

Porém... separei as informações da seguinte maneira:

animes = [];

class anime {
    constructor(nome, imagem, url) {
        this.nome = nome;
        this.episodios = [];
        this.comentarios = [];
        this.image = imagem;
        this.url = url; //Serviria como uma uuid/ID
    }
  };
class episodio {
    constructor(anime, nome,url, time, views=0){
        this.anime = anime;
        this.nome = nome;
        this.url = url;
        this.views = views;
        this.comments = [];
        this.time = time;
    }
};
class comentario {
    constructor(nome,comentario){
        this.nome = nome;
        this.comentario = comentario;
    }
};

Em ordem termino usando assim:

var anime_to_add = new anime("Nome aqui", "default.jpg", "#");
anime_to_add.episodios.push(new episodio(anime_to_add.nome, "Episodio 1", "#", 0));
anime_to_add.comentarios.push(new comentario("L", "Teste"));
animes.push(anime_to_add);

Os links de acesso serão por identificação tipo localhost/url/url2 sendo url o catalogo do anime e url2 a identificação do episodio 

 

O detalhe que está me consumindo e não achei pela internet... existe algum método para eu ordenar uma lista através de uma variável da class ? Exemplo, organizar pelo tempo maior, pelo tempo menor e coisa do tipo.... também tipo filtrar para eu poder usar o método get no link e encontrar as url especificada na class

 

Tô perdido para fazer essa organização até para poder usar em campo de pesquisa, coisa do tipo...

 

Esqueci de falar... o método que pensei (Para não dizer nenhum) foi o seguinte:

function searchAnime(nome=""){
    var result;
    for(a in animes){
        if(a.nome == nome){
            result = a;
            break;
        }
    }
    return result;
}
function searchAnime(id=0){
    var result;
    for(a in animes){
        if(a.url == id){
            result = a;
            break;
        }
    }
    return result;
}
function searchEpisode(id=0){
    var result;
    for(a in animes){
        for(b in a.episodios){
            if(b.url == id){
                result = a;
                break;
            }
        }
        if(result != null) break;
    }
    return result;
}

Porém acho que sejá algo pouco eficiente (Não tenho certeza)

Link para o comentário
Compartilhar em outros sites

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

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

×
×
  • Criar novo...