Ceci est mon objet DATA CODE>:
if (data.hasOwnProperty("category")) {
console.log("data contains category");
}else {
console.log("data does not contain category");
}
4 Réponses :
Vous devez itérer votre tableau. Vous pouvez donc mettre le code à l'intérieur d'un p> foreach code>
let data = [{
id: 1,
name: "Cat",
category: {
id: 2,
name: "Animals"
}
}]
if (data[0].hasOwnProperty("category")) {
console.log("data contains category");
} else {
console.log("data does not contain category");
}
Vous pouvez également utiliser Certains code>
pour vérifier si un objet de votre réseau correspond à une certaine condition:
p>
var data = [{ id: 1, name: "Cat", category: { id: 2, name: "Animals" } }]; var hasCategory = data.some(k => k.hasOwnProperty('category')); if (hasCategory) { console.log("data contains category"); } else { console.log("data does not contain category"); }
Vous devez faire boucle via des éléments de tableau. et vous pouvez assignation de destructure forte>
let arr = [{id:1, name:"Cat", category:{id:2, name:"Animals"}}] arr.forEach(({category})=>{ if (category !== undefined) { console.log("data contains category"); }else { console.log("data does not contain category"); } })
Juste une note latérale, si catégorie code> est défini sur
null code>,
0 code> ou une autre valeur de FALSY, votre code actuel affichera: Les données ne contiennent pas de catégorie i>. Peut-être que vous pouvez améliorer la modification de la condition de coffre à
catégorie! == indéfini code>.
@Codemaniac vous êtes les bienvenus. J'espère que votre vote de descente est retourné, n'était pas mon intention que vous soyez voté, désolé pour cela.
@Shidersz pas de problème mate :) vote en bas ne me dérange pas. seul motif est d'apprendre.
C'est un tableau avec un seul index, vous pouvez donc le faire à l'aide de l'opérateur si vous avez plus d'un index, vous devez boucler ce tableau. p> l'opérateur p> dans code>:
in code> vérifie également les propriétés héritées. em> p>
let data = [{id:1, name:"Cat", category:{id:2, name:"Animals"}}];
data.forEach((o, i) => console.log("Index:", i, " - Has category?:", "category" in o));
Vous avez un tableau, pas un objet. Si vous devez avoir un objet, vous devez regarder la source de
Data CODE>.
@Devon. Il doit s'agir d'un objet, car si je
alerte (data.tostring (,tostring ()); code> ceci est le iPUT:
[objet objet], [objet objet], [objet objet], [objet], [objet Objet], [objet objet], [objet objet], [objet d'objet] code>
Il a
[] code> autour d'un objet; C'est un tableau avec un objet dedans.
@Jarla, ce n'est probablement pas le moyen le plus simple de voir les données, d'utiliser votre console, pas des alertes. Au-delà de cela, vous avez un éventail de plusieurs objets de l'apparence de cela, pas un seul objet. Je pense que le problème est que vous attendez un seul objet lorsque vous avez un tableau d'objets. Si le producteur est faux ou si l'attente du consommateur est fausse, c'est à vous de comprendre.
@Devon merci, je suis toujours confondu avec cette question ... est-ce un objet ou est-ce un tableau?