0

Hi im trying to acces my data but geting undefined console.log(creature.species). the output for console.log(creature) is: console.log(craeture)

and here is my code:

    function Creature(species, weight, height, diet, where, when, fact, name) {
    this.species = species;
    this.weight = weight;
    this.height = height;
    this.diet = diet;
    this.where = where;
    this.when = when;
    this.fact = fact;
    this.name = name;

}
//Get dinoData from dino.json and Create Dinosaurs
let creature = [];
console.log(creature)

function createDino() {
    return fetch("dino.json")
        .then(function(response) {
            return response.json();
        })
        .then(function({ Dinos }) {
            Dinos.map(function(dinosaurs) {
                let dino = new Creature(...Object.values(dinosaurs));
                delete name;
                creature.push(dino);
            })
        })
};
createDino();

console.log(creature.species)
silvermir
  • 11
  • 2
  • 1
    `creature` is an array. The array itself doesn't have a `species` property. You'll need to select the element from the array first before calling `.species` on it. But the bigger problem is that `creature.push(dino)` is executed _after_ your `console.log(creature.species)`, so `creature` will still be an empty array at that point. See the question linked above. – Ivar May 16 '22 at 09:38
  • Not sure what you expected `delete name` to do, [but it doesn't work](http://perfectionkills.com/understanding-delete/) – Bergi May 16 '22 at 09:49

0 Answers0