Maison  >  Questions et réponses  >  le corps du texte

javascript - js détermine s'il y a des valeurs en double dans la valeur de l'objet JSON ?

Comment déterminer si la valeur de specDesc dans l'objet JSON ne peut pas être la même

给我你的怀抱给我你的怀抱2687 Il y a quelques jours1130

répondre à tous(4)je répondrai

  • 大家讲道理

    大家讲道理2017-06-12 09:34:44

    if([...new Set(specList.map(item=>item.specDesc))].length < specList.length){
        console.log('有重复')
    }

    répondre
    0
  • 阿神

    阿神2017-06-12 09:34:44

    Vous pouvez d'abord parcourir et pousser la valeur de obj.specDesc dans un tableau, puis écrire une fonction pour déterminer s'il y a des doublons dans le tableau

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-12 09:34:44

    var obj={};
    for(var i=0,l=specList.length;i<l;i++){
     if(obj[specDesc[i].specDesc]){
       console.log('已存在');
     }else{
       obj[specDesc[i].specDesc]=specDesc[i].specDesc;
       console.log('不存在');
     }
    }

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-06-12 09:34:44

    Ne pouvons-nous pas simplement juger directement ? a['spec'] == b['spec'], Si vous souhaitez comparer les valeurs correspondant à toutes les clés, vous devez parcourir toutes les clés de l'une d'entre elles et les comparer pour savoir si les valeurs correspondant aux autres clés sont égales.

    Étant donné que l'auteur de la question n'a envoyé qu'une capture d'écran, il est difficile d'étudier le sens de la question. D'après ce que j'ai compris : deux objets a et b ne sont pas autorisés à avoir une paire clé-valeur identique

    Alors la solution est la suivante :

    var a = {age:1, spec:'hello'},
        b = {age:21, spec:'hello'};
        
    function noRepeat(obj1,obj2){
        var res = false;
        for(var key in obj1){
            if(obj1[key]==obj2[key]){
                res = true;
                break;
            }
        }
        return res;
    }
    
    noRepeat(a, b); // true

    Cela est similaire à la vérité. Comment le sujet de la question peut-il répondre à cette question ? Si vous avez des questions supplémentaires, veuillez ajouter~

    répondre
    0
  • Annulerrépondre