首页 > 解决方案 > how to search for a regex object

问题描述

Estou querendo encontrar dentro de meu objeto uma classificação para montar um append em minha tela HTML montando uma tela de DRE.

Esse é meu objeto:

var dado = [{codigo: 432, classificacao: "4.1.1.01.000001", anterior: 0, atual: -0.21, descricao: "JUROS DE APLICAÇÕES"}]

Eu tentei usar foreach dessa maneira:

dado.forEach(function(i){ if(i.classificacao == /4.1.1.01.\d{6}/g) { //faça append }; });

Porém, não houve retorno de minha função.

O meu resultado esperado seria "4.1.1.01.000001".

标签: javascript

解决方案


Thanks Benilson. The REGEX code worked. I will just rephrase my question in English so that everyone in the community can see the solution.

I was looking inside my object for a rating to mount an append on my HTML screen by setting up a DRE screen.

This is my object:

var obj = [
    {codigo: 402, classificacao: "4", anterior: -209083.5, atual: -329005.49, descricao: "CONTAS DE RESULTADO - RECEITAS"},
    {codigo: 403, classificacao: "4.1", anterior: -209083.5, atual: -329005.49, descricao: "RECEITAS OPERACIONAIS"},
    {codigo: 404, classificacao: "4.1.1", anterior: -301770, atual: -467722.51, descricao: "RECEITA BRUTA DE VENDAS E SERVIÇOS"},
    {codigo: 405, classificacao: "4.1.1.01", anterior: -301770, atual: -467722.51, descricao: "RECEITA BRUTAS DE VENDAS E MERCADORIAS"},
    {codigo: 406, classificacao: "4.1.1.01.000001", anterior: -50557.5, atual: -216510.01, descricao: "VENDA DE PRODUTOS"},
    {codigo: 408, classificacao: "4.1.1.01.000003", anterior: -251212.5, atual: -251212.5, descricao: "VENDA DE MERCADORIAS"},
    {codigo: 413, classificacao: "4.1.2", anterior: 92686.5, atual: 138717.23, descricao: "(-) DEDUÇÕES DA RECEITA BRUTA"},
    {codigo: 424, classificacao: "4.1.2.03", anterior: 92686.5, atual: 138717.23, descricao: "(-) IMPOSTOS SOBRE VENDAS E SERVIÇOS"},
    {codigo: 425, classificacao: "4.1.2.03.000001", anterior: 14370, atual: 22272.51, descricao: "(-) IPI"},
    {codigo: 426, classificacao: "4.1.2.03.000002", anterior: 51732, atual: 77841, descricao: "(-) ICMS"},
    {codigo: 428, classificacao: "4.1.2.03.000004", anterior: 21842.4, atual: 31717.65, descricao: "(-) COFINS"},
    {codigo: 429, classificacao: "4.1.2.03.000005", anterior: 4742.1, atual: 6886.07, descricao: "(-) PIS"},
    {codigo: 430, classificacao: "4.1.3", anterior: 0, atual: -0.21, descricao: "RECEITAS FINANCEIRAS"},
    {codigo: 431, classificacao: "4.1.3.01", anterior: 0, atual: -0.21, descricao: "JUROS E DESCONTOS"},
    {codigo: 432, classificacao: "4.1.3.01.000001", anterior: 0, atual: -0.21, descricao: "JUROS DE APLICAÇÕES"}
    ];

In my table, I would like to list only objects that have

classificacao= "4.1.1.01.000001", "4.1.1.01.000002" ...

Knowing that my data to be imported always started with the same sequence ("4.1.1.01"), I needed to identify and list only the objects with six remaining digits, which in this case were variables.

Initially, I started writing my search like this, but without success:

dado.forEach(function(i){ if(i.classificacao == /4.1.1.01.\d{6}/g) { //faça append }; });

But through the help of user Benilson, I found it needed to be this way:

obj.forEach(function(i){
        if(/4\.1\.1\.01\.\d{6}/g.test(i.classificacao)) {
            console.log(i.classificacao);
        }
    })

var obj = [
    {codigo: 402, classificacao: "4", anterior: -209083.5, atual: -329005.49, descricao: "CONTAS DE RESULTADO - RECEITAS"},
    {codigo: 403, classificacao: "4.1", anterior: -209083.5, atual: -329005.49, descricao: "RECEITAS OPERACIONAIS"},
    {codigo: 404, classificacao: "4.1.1", anterior: -301770, atual: -467722.51, descricao: "RECEITA BRUTA DE VENDAS E SERVIÇOS"},
    {codigo: 405, classificacao: "4.1.1.01", anterior: -301770, atual: -467722.51, descricao: "RECEITA BRUTAS DE VENDAS E MERCADORIAS"},
    {codigo: 406, classificacao: "4.1.1.01.000001", anterior: -50557.5, atual: -216510.01, descricao: "VENDA DE PRODUTOS"},
    {codigo: 408, classificacao: "4.1.1.01.000003", anterior: -251212.5, atual: -251212.5, descricao: "VENDA DE MERCADORIAS"},
    {codigo: 413, classificacao: "4.1.2", anterior: 92686.5, atual: 138717.23, descricao: "(-) DEDUÇÕES DA RECEITA BRUTA"},
    {codigo: 424, classificacao: "4.1.2.03", anterior: 92686.5, atual: 138717.23, descricao: "(-) IMPOSTOS SOBRE VENDAS E SERVIÇOS"},
    {codigo: 425, classificacao: "4.1.2.03.000001", anterior: 14370, atual: 22272.51, descricao: "(-) IPI"},
    {codigo: 426, classificacao: "4.1.2.03.000002", anterior: 51732, atual: 77841, descricao: "(-) ICMS"},
    {codigo: 428, classificacao: "4.1.2.03.000004", anterior: 21842.4, atual: 31717.65, descricao: "(-) COFINS"},
    {codigo: 429, classificacao: "4.1.2.03.000005", anterior: 4742.1, atual: 6886.07, descricao: "(-) PIS"},
    {codigo: 430, classificacao: "4.1.3", anterior: 0, atual: -0.21, descricao: "RECEITAS FINANCEIRAS"},
    {codigo: 431, classificacao: "4.1.3.01", anterior: 0, atual: -0.21, descricao: "JUROS E DESCONTOS"},
    {codigo: 432, classificacao: "4.1.3.01.000001", anterior: 0, atual: -0.21, descricao: "JUROS DE APLICAÇÕES"}
    ];
    
    obj.forEach(function(i){
        if(/4\.1\.1\.01\.\d{6}/g.test(i.classificacao)) {
            $('#append').append(i.classificacao +'<br>');
        }
    })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html lang="en">
<body id="append">
</body>
</html>


推荐阅读