Home HTML Data Types DOM JavaScript JS Debugging Review Ticket

Hacks

Create a JavaScript snippet below with the following requirements:

  • Create an object representing yourself as a person. The object should have keys for your name, age, current classes, interests, and two more of your choosing
  • Your object must contain keys whose values are arrays. The arrays can be arrays of strings, numbers, or even other objects if you would like
  • Print the entire object with console.log after declaring it
  • Manipulate the arrays within the object and print the entire object with console.log as well as the specific changed key afterwards
  • [X]Perform mathematical operations on fields in your object such as +, -, /, % etc. and print the results with console.log along with a message contextualizing them
  • Use typeof to determine the types of at least 3 fields in your object
%%js
// This defines the variable under which all the information is typed in

const personObject = {
    
    Name: "Sri Vaidyanathan Suryanarayanan",
    Age: 15,
    CurrentClasses: ["Physics 1", "AP Computer Science Principles", "Photography 1", "Math 3A", "AP Chemistry"],
    Interests: ["Photography", "New Experiences", "Traveling the world", "Understanding people", "Exploring national parks"],
    FavoriteMovies: [
      {
        name: "Interstellar", 
        director: "Christopher Nolan",
        lead: "Matthew McConaughey",
      },
      {
        name: "Inception",
        director: "Christopher Nolan",
        lead: "Leonardo DiCaprio",
      },
      {
        name: "Spirited",
        director: "Sean Anders",
        lead: "Will Ferrell and Ryan Reynolds",
      },
    ],
    favoriteArtists: [
      {
        name: "Taylor Swift",
        favoriteSong: "Lover"
      },
      {
        name: "Morgan Wallen",
        favoriteSong: "Last Night",
      },
      {
        name: "Olivia Rodrigo",
        favoriteSong: "good 4 u",
      },
    ],
    // These values are used later for calculating stuff like BMI which fulfill the calculations requirement of this assignment.
    heightInFeet: 70.8,
    weightInPounds: 160,
  };
  
  // This is to print the initial version of my database before making any changes like add or pull.
  
  console.log("Before changes by manipulating data:");
  console.log(personObject);
  
  // Manipulating the objects already in the data requires one to pull or push, and by the requirement in the rubric, two changes have been made to the original code, a new song is added and a movie is taken out of the results on the console.
  
  personObject.FavoriteMovies = personObject.FavoriteMovies.filter(movie => movie.name !== "Spirited");
  personObject.favoriteArtists.push({ name: "Ed Sheeran", favoriteSong: "perfect" });
  
  // These code lines below detail a few mathematical functions created using data from above, like the age, height, and weight, etc.
  
  const bmi = (personObject.weightInPounds / (personObject.heightInFeet * personObject.heightInFeet)) * 703;
  const ageInMonths = personObject.Age * 12;
  const ageInDays = personObject.Age * 365;
  const ageInWeeks = personObject.Age * 52.2;
  
  // This prints out the output after the mild data manipulation done above to the existing inputs.
  
  console.log("\nThis is after manipulation:");
  console.log(personObject);
  
  // This prints out all the mathematical functions, the four functions that have been coded above which includes the days etc
  
  console.log("\nBMI (Body Mass Index):", bmi.toFixed(2));
  console.log("Age in Months:", ageInMonths);
  console.log("Age in Days:", ageInDays);
  console.log("Age In Weeks:", ageInWeeks);
  
  // Below here the command typeof is used to determine the types of data.
  
  console.log("\nData Types:");
  console.log("Name:", typeof personObject.Name);
  console.log("Age:", typeof personObject.Age);
  console.log("Current Classes:", typeof personObject.CurrentClasses);
  console.log("Interests:", typeof personObject.Interests);
  console.log("Favorite Movies:", typeof personObject.FavoriteMovies);
  console.log("Favorite Artists:", typeof personObject.favoriteArtists);
  
<IPython.core.display.Javascript object>
<a href="https://www.youtube.com/shorts/fuXUDFSyZQY"> Results</a>