Introduction
JavaScript objects and arrays are essential for storing and organizing data in your applications. This chapter explores how to create, manipulate, and effectively use objects and arrays, which are fundamental to writing robust JavaScript code.
Understanding JavaScript Objects
What is an Object?
An object is a collection of key-value pairs, where each key is a string (or symbol) and each value can be any data type. Objects allow you to group related data and functions together.
Creating Objects
You can create an object using object literals or the new Object() constructor.
Example: Object Literal
const car = {
brand: "Toyota",
model: "Camry",
year: 2021,
startEngine: function () {
console.log("Engine started");
},
};
console.log(car.brand); // Output: Toyota
car.startEngine(); // Output: Engine started
Example: Object Constructor
const car = new Object();
car.brand = "Toyota";
car.model = "Camry";
car.year = 2021;
car.startEngine = function () {
console.log("Engine started");
};
Accessing and Modifying Object Properties
You can access and modify object properties using dot notation or bracket notation.
Example: Accessing and Modifying Properties
const person = {
name: "John",
age: 30,
};
console.log(person.name); // Output: John
person.age = 31; // Modifying property
console.log(person["age"]); // Output: 31
Understanding JavaScript Arrays
What is an Array?
An array is a special object that can store a collection of elements, typically of the same type. Arrays are used to store ordered data and provide methods to manipulate it.
Creating Arrays
You can create arrays using array literals or the new Array() constructor.
Example: Array Literal
const fruits = ["apple", "banana", "orange"];
console.log(fruits[0]); // Output: apple
Example: Array Constructor
const fruits = new Array("apple", "banana", "orange");
console.log(fruits[1]); // Output: banana
Common Array Methods
JavaScript arrays come with a variety of built-in methods for manipulating data.
Adding and Removing Elements
• push(): Adds one or more elements to the end of an array.
• pop(): Removes the last element from an array.
• unshift(): Adds one or more elements to the beginning of an array.
• shift(): Removes the first element from an array.
Example:
let colors = ["red", "green", "blue"];
colors.push("yellow"); // Adds "yellow" to the end
colors.pop(); // Removes "yellow"
colors.unshift("purple"); // Adds "purple" to the beginning
colors.shift(); // Removes "purple"
Iterating Over Arrays
• forEach(): Executes a provided function once for each array element.
• map(): Creates a new array with the results of calling a function on every element.
Example:
let numbers = [1, 2, 3, 4];
numbers.forEach((num) => console.log(num)); // Output: 1 2 3 4
let doubled = numbers.map((num) => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8]
Objects and Arrays Together
Objects and arrays can be combined to create complex data structures. For example, you can have an array of objects or an object with array properties.
Example: Array of Objects
const students = [
{ name: "Alice", grade: "A" },
{ name: "Bob", grade: "B" },
];
students.forEach((student) => console.log(student.name));
// Output: Alice Bob
Example: Object with Array Property
const classroom = {
name: "Math",
students: ["Alice", "Bob", "Charlie"],
};
console.log(classroom.students[1]); // Output: Bob
FAQs
1. What is an object in JavaScript?
An object is a collection of key-value pairs used to group related data and functions.
2. How do you add an element to an array?
Use the push() method to add an element to the end of an array.
3. What is the difference between an object and an array?
Objects store data as key-value pairs, while arrays store ordered collections of elements.
One-Liner Questions
• How do you access a property in an object?
Use dot notation or bracket notation.
• What method adds an element to the beginning of an array?
Use the unshift() method.
Coding Problems
1. Problem 1: Find Object by Property
• Write a function to find an object in an array by a specific property.
function findByProperty(arr, key, value) {
return arr.find((item) => item[key] === value);
}
const products = [
{ id: 1, name: "Laptop" },
{ id: 2, name: "Phone" },
];
console.log(findByProperty(products, "name", "Phone"));
// Output: { id: 2, name: "Phone" }
2. Problem 2: Filter Array of Numbers
• Create a function to filter out even numbers from an array.
function filterEvenNumbers(arr) {
return arr.filter((num) => num % 2 !== 0);
}
console.log(filterEvenNumbers([1, 2, 3, 4, 5])); // Output: [1, 3, 5]
3. Problem 3: Merge Two Arrays
• Implement a function to merge two arrays and remove duplicates.
function mergeArrays(arr1, arr2) {
return [...new Set([...arr1, ...arr2])];
}
console.log(mergeArrays([1, 2, 3], [3, 4, 5])); // Output: [1, 2, 3, 4, 5]
External Links
1. JavaScript Objects - MDN Web Docs - Understanding JavaScript Objects
2. JavaScript Arrays - W3Schools - JavaScript Array Methods
3. JavaScript Array Guide - Codecademy - Mastering JavaScript Arrays
Comentarii