javascript - 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".
解决方案
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>
推荐阅读
- office365 - 在没有频道分配的会议中,Microsoft Teams 中的文件在哪里结束?
- javascript - Google Maps API Javascript,从页面上的表单输入中获取经度纬度
- java - 在应用程序上设置 OnClick 侦听器:搜索图标 android
- azure - 验证 Azure AD JWT 访问令牌时出错
- reactjs - 为什么我会收到有关重载调用的错误消息?
- spring-boot - 带有 SpringBoot 的 Marklogic
- cpu - 中断如何与 USB 分配器一起工作?
- r - envfit 结果是如何创建的?
- django - 我无法将 django 表单中的记录添加到数据库中
- mysql - 在 Ubuntu 18.04 中找不到 mysql 服务器 5.6.46 的 mysql_tzinfo_to_sql 命令