// Declaring arrays
let numbers: number[] = [10, 20, 30, 40, 50];
let fruits: Array<string> = ["apple", "banana", "cherry"];
console.log("Numbers:", numbers);
console.log("Fruits:", fruits);
// Accessing elements
console.log("First number:", numbers[0]); // 10
console.log("Second fruit:", fruits[1]); // banana
// Modifying elements
fruits[1] = "blueberry";
console.log("Modified fruits:", fruits);
// Array length
console.log("Length of numbers array:", numbers.length); // 5
// Basic array methods
// push: Add to the end
fruits.push("date");
console.log("Fruits after push:", fruits); // ["apple", "blueberry", "cherry", "date"]
// pop: Remove from the end
let removedFruit = fruits.pop();
console.log("Removed fruit:", removedFruit); // date
console.log("Fruits after pop:", fruits); // ["apple", "blueberry", "cherry"]
// forEach: Iterate over elements
console.log("Iterating with forEach:");
numbers.forEach((num, index) => {
console.log(`Number at index ${index}: ${num}`);
});
// map: Create a new array from existing array
let doubledNumbers: number[] = numbers.map(num => num * 2);
console.log("Doubled numbers:", doubledNumbers); // [20, 40, 60, 80, 100]
// filter: Create a new array with elements that pass a test
let evenNumbers: number[] = numbers.filter(num => num % 2 === 0);
console.log("Even numbers (original):", evenNumbers); // [10, 20, 30, 40, 50]
let oddNumbers: number[] = numbers.filter(num => num % 2 !== 0);
console.log("Odd numbers (original):", oddNumbers); // []
let numbersWithOdds: number[] = [1, 2, 3, 4, 5, 6];
let filteredOdds: number[] = numbersWithOdds.filter(num => num % 2 !== 0);
console.log("Filtered odd numbers:", filteredOdds); // [1, 3, 5]
// Array of mixed types (using union types or any)
let mixedArray: (string | number | boolean)[] = ["hello", 5, true];
console.log("Mixed array:", mixedArray);
let anyArray: any[] = [1, "world", false, { name: "Test" }];
console.log("Any array:", anyArray);