Van icon

JAVASCRIPT ACCESSING ARRAYS

Links


    //ACCESING NESTED OBJECTS
    var myStorage = {
        "car": {
            "inside": {
                "glove box": "maps",
                "passenger seat": "crumbs"
            },
            "outside": {
                "trunk": "jack"
            }
        }
    };
    var gloveBoxContents = myStorage.car.inside["glove box"];
    console.log("Accesing nested objects: var gloveBoxContentes = myStorage.car.inside['glove box']; ");
    console.log(gloveBoxContents);


    //ACCESING NESTED ARRAYS
    var myPlants = [
        {
            type: "flowers",
            list: [
                "rose",
                "tulip",
                "dandelion"
            ]
        },
        {
            type: "trees",
            list: [
                "fir",
                "pine",
                "birch"
            ]
        }

    ];

    var secondTree = myPlants[1].list[2];
    console.log("Accesing nested arrays: var secondTree = myPlants[1].list[2]; ");
    console.log(secondTree);
    


    //EXAMPLE RECORD COLLECTION
    var collection = {
        "2548": {
            "album": "Slipepery Weh Wet",
            "artist": "Bon Jovi",
            "tracks": [
                "Let it Rock",
                "You give love a Bad name"
            ]
        },
        "2568": {
            "album": "1999",
            "artist": "Prince",
            "tracks": [
                "1999",
                "Little Red Corvette"
            ]
        },
        "1245": {
            "artist": "Robert Palmer",
            "tracks": []
        },
        "5439": {
            "album": "Abba Gold"
        }
    }

    var collectionCopy = JSON.parse(JSON.stringify(collection));
    console.log("var collectionCopy = JSON.parse(JSON.stringify(collection));");

    function updateRecords(id, prop, value) {
        if (value === ""){
            delete collection[id][prop];
        } else if (prop === "tracks"){
            collection[id][prop] = collection[id][prop] || [];
            collection[id][prop].push(value);
        }else {
            collection[id][prop] = value;
        }

        return collection;
    }
    console.log("Update records:")
    console.log(updateRecords(5439, "artist","Abba"));
    console.log(updateRecords(2568, "tracks","Nothing Compares 2U"));
    


    //ITERATE WITH WHILE LOOPS 2:10:15

    var myArray = [];
    var i = 0;
    while(i < 5){
        myArray.push(i);
        i++;
    };
    console.log("Iterate with While Loops");
    console.log(myArray);
    


    //ITERATE WITH FOR LOOPS 
    var forArray = [];

    for(var i = 0; i < 5; i++){
        forArray.push(i);
    };
    console.log("Iterate with For Loops");
    console.log(forArray);
    


    //ITERATE WITH FOR LOOPS 
    var oddArray = [];

    for(var i = 0; i < 10; i += 2){ //can be backwards i -= 2 i--
        oddArray.push(i);
    };
    console.log("Iterate with For Loops incrementing by 2");
    console.log(oddArray);
    


    //  64 - ITERATE THROUGH AN ARRAY WITH A FOR LOOP
    var ourArray = [9, 10, 11, 12];
    var ourTotal = 0;

    for (var i = 1; i < ourArray.length; i++){
        ourTotal += ourArray[i];
    };
    console.log("Iterate through an array with a for loop:");
    console.log(ourTotal);

    //  65 - NESTING FOR LOOPS
    function multiplyAll(arr){
        var product = 1;
        for (var i = 0; i < arr.length; i++){
            for (var j = 0; j < arr[i].length; j++){
                product *= arr[i][j];
            }
        }
        return product;
    }

    var product = multiplyAll([[1,2],[3,4],[5,6,7]]);
    console.log("Nesting For Loops:");
    console.log(product);
    


    //  66 - ITERATING WITH DO...WHILE LOOPS
    var myArray = [];
    var i = 10;

    do {
        myArray.push(i);
        i++;
    } while (i < 5);

    console.log(i, myArray);
    


    // PROFILE LOOKUP

    var contacts = [
        {
            "firstName": "Akira",
            "lastName": "Laine",
            "number": "054342343234",
            "likes": ["Pizza", "Coding", "Brownie Points"]
        },
        {
            "firstName": "Harry",
            "lastName": "Potter",
            "number": "054312323234",
            "likes": ["Hogwarts", "Magic", "Hagrid"]
        },
        {
            "firstName": "Sherlock",
            "lastName": "Holmes",
            "number": "0543423843234",
            "likes": ["Intriguing Cases", "Violin"]
        }
    ]

    function lookUpProfile(name, prop) {
        for (var i = 0; i <contacts.length; i++){
            if (contacts[i].firstName === name) {
                return contacts[i][prop] || "No such property";
            }
        }
        return "No such contact";
    }
    var data = lookUpProfile("Sherlock", "likes");
    console.log("Profile Lookup Exercise");
    console.log(data);

    


    //