3 votes

Vérifiez si l'objet existe dans la propriété

Je suis en train de voir si la propriété contient un autre objet.

J'ai ceci :

{
  "prop1": "valeur",
  "prop2": "valeur",
  "prop4": "valeur",
  "prop5": {
      "innerprop1": "valeur",
      "innerprop2": "valeur"
  },
  "prop6": {
      "innerprop3": "valeur",
      "innerprop4": "valeur"
  }
}

Je veux savoir si l'une des propriétés contient un objet.

Toute aide serait appréciée.

3voto

zennith Points 277

Veuillez vérifier prop7

obj = {
  "prop1": "value",
  "prop2": "value",
  "prop4": "value",
  "prop5": {
      "innerprop1": "value",
      "innerprop2": "value"
  },
  "prop6": {
      "innerprop3": "value",
      "innerprop4": "value"
  },
  "prop7": [] //  Également un objet!
}

for(var key in obj) {

  if(typeof obj[key] === 'object') {
    console.log(key)
  }
}

2voto

impeRAtoR Points 491
var yourObject={
  "prop1": "value",
  "prop2": "value",
  "prop4": "value",
  "prop5": {
      "innerprop1": "value",
      "innerprop2": "value"
  },
  "prop6": {
      "innerprop3": "value",
      "innerprop4": "value"
  }
}

if(typeof yourObject.prop5=='object'){
console.log("It is object")
}

if (typeof yourobject.prop5=='object'){
}

2voto

prasanth Points 12892

Essayez avec typeof() méthode et Object.values

  1. Object.values crée le tableau des valeurs et Array.map() recrée le tableau avec la condition typeof(a) == 'object'

    var arr ={ "prop1": "value", "prop2": "value", "prop4":"value", "prop5": { "innerprop1": "value","innerprop2": "value" }, "prop6": { "innerprop3":"value", "innerprop4": "value" } }

    //renvoie le nom de la clé console.log(Object.keys(arr).filter(a=> typeof(arr[a]) == 'object' ))

    var res = Object.values(arr).map(function(a){ return typeof(a) == 'object' })

    console.log(res)

2voto

Vineesh Points 2330

Vous pouvez utiliser la fonction typeof qui renverra object pour les objets

var json = '{ "prop1": "valeur", "prop2": "valeur", "prop4": "valeur", "prop5": { "innerprop1": "valeur", "innerprop2": "valeur" }, "prop6": { "innerprop3": "valeur", "innerprop4": "valeur" } }';
jsonObject = JSON.parse(json);
var keys = Object.keys(jsonObject);
keys.forEach(function(element){
  console.log(typeof(jsonObject[element]));

})

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X