在Json对象中检查数组中的相同字符串 [英] Checking for identical strings in array inside Json object

查看:74
本文介绍了在Json对象中检查数组中的相同字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,所以我正在使用这段代码,无法弄清楚如何解决这个问题。我得到了这个简单的循环:

Ok, so I'm working with this code and can't figure out how to solve said problem. I got this simple loop:

for (i = 0; i < z.length; i++) {
  var ht = $('<div class="empresa"><div class="ordem"><div class="ordem_e">Ordem:1</div><div class="nome_e">Nome da empresa</div></div><div class="responsaveis"><p class="nome_r">Nome do cidadão</p><span class="ordem_p">Ordem:1</span><br /><p class="funcao">Contratante</p><br /><div class="cont_status"><div class="ind_assinar">Assinar</div><div class="ind_aprovar">Aprovar</div><div class="ind_aceitar">Aceitar</div></div></div></div>')

  ht.find(".ordem_e").text('Ordem:' + z[i].papel_ordem);
  ht.find(".nome_e").text(z[i].empr_nome);
  ht.find(".nome_r").text(z[i].cont_nome);
  ht.find(".ordem_p").text("Ordem:" + z[i].cont_ordem);
  ht.find(".funcao").text(z[i].decl_identificacao);

  $(".insere_empr").append(ht);
}

只是创建一些显示某些属性的对象,如此屏幕截图所示:

wich just creates some objects displaying some properties, like in this screenshot:

我得到的代码中的z values,是从Ajax调用返回的JSON。它是一个包含对象的数组,如[{...},{...},{...},{...}]

The "z" in code where i get the values, is a JSON returned from a Ajax call. It's an array with objects inside, like [{...},{...},{...},{...}]

所以,我如何比较一个元素(在我的代码中.nome_e文本,或图片中的麦格纳名称)来检查相同的元素?然后我想联合所有具有相同名称的html对象(再次,根据屏幕截图,麦格纳将获得两个盒子里面)。

So, how can I compare one element (in my code in .nome_e text, or th "Magna" name in the picture) to check for identical elements? I would then like to unite said html objects wich had the same name (again, based on the screen shot, "Magna" would get two boxes inside).

我还在尝试某些方法来找到解决方案,但现在我已经迷失了。会不断尝试,但如果有人可以指出我如何解决这个问题的一些想法,那将会有很大的帮助:D

I'm still trying some ways to found a solution, but it seens I'm lost right now. Will keep trying, but if someone can point me some ideas on how to fix that, it would help a lot :D

提前感谢,如果发布的话感到抱歉长。我试图澄清我的问题。

thanks in advance, and sorry if the post seens long. I tried to make my question clear.

推荐答案

所以,我修理了它:

var wha = [];

        for (i=0; i<z.length; i++){

        var ht = $('<div class="empresa"><div class="ordem"><div class="ordem_e">Ordem:1</div><div class="nome_e">Nome da empresa</div></div><div class="responsaveis"><p class="nome_r">Nome do cidadão</p><span class="ordem_p">Ordem:1</span><br /><p class="funcao">Contratante</p><br /><div class="cont_status"><div class="ind_assinar">Assinar</div><div class="ind_aprovar">Aprovar</div><div class="ind_aceitar">Aceitar</div></div></div></div>')

          ht.find(".ordem_e").text('Ordem:' + z[i].papel_ordem);
          ht.find(".nome_e").text(z[i].empr_nome);
          var gh = ht.find(".nome_e").text();
          ht.find(".nome_r").text(z[i].cont_nome);
          ht.find(".ordem_p").text("Ordem:" + z[i].cont_ordem);
          ht.find(".funcao").text(z[i].decl_identificacao);

          //console.log(z[i].empr_nome);
          console.log(wha);
          console.log($.inArray(gh, wha));

          if($.inArray(gh, wha) == -1){
            wha.push(z[i].empr_nome);
          } else{
            ht.find(".nome_e").parents().css("background-color", "orange");
          }

          $(".insere_empr").append(ht);

        }

制作一个空数组,将项目字符串与所述数组进行比较。如果为-1,则按下它(仅供参考)。顺便说一句,橙色bkg仅用于测试。现在我只需要弄清楚如何进入上部结构。也许我稍后会问。

Made a empty array, compare the item string with said array. If -1, push it (just for reference). By the way, the orange bkg is just for testing. Now I just need to figure it out how to acess the upper structure. Maybe I will ask later.

这篇关于在Json对象中检查数组中的相同字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆