> For the complete documentation index, see [llms.txt](https://docs.bashschool.in/v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bashschool.in/v1/javascript/typescript/arrays-in-typescript.md).

# Arrays in TypeScript

Accessing arrays in TypeScript is straightforward. You can annotate the type by adding `[]` next to the type name.

**Example 1: Find Maximum Value in an Array**

Given an array of positive integers as input, return the maximum value in the array.

**Solution**:

```typescript
function findMaxValue(numbers: number[]): number {
    return Math.max(...numbers);
}

// Example usage:
const numbers: number[] = [1, 5, 3, 9, 2];
console.log(findMaxValue(numbers)); // Output: 9
```

**Example 2: Filter Legal Users**

Given a list of users, filter out the users that are legal (greater than 18 years of age).

**Solution**:

```typescript
interface User {
    firstName: string;
    lastName: string;
    age: number;
}

function filterLegalUsers(users: User[]): User[] {
    return users.filter(user => user.age > 18);
}

// Example usage:
const users: User[] = [
    { firstName: "Alice", lastName: "Smith", age: 20 },
    { firstName: "Bob", lastName: "Jones", age: 17 },
    { firstName: "Charlie", lastName: "Brown", age: 25 }
];
console.log(filterLegalUsers(users));
// Output: [{ firstName: "Alice", lastName: "Smith", age: 20 }, { firstName: "Charlie", lastName: "Brown", age: 25 }]
```

**Additional Features**

**1. Readonly Arrays**

You can use the `readonly` modifier to create arrays that cannot be modified after initialization.

**Example**:

```typescript
const readonlyArray: readonly number[] = [1, 2, 3];
// readonlyArray.push(4); // Error: Cannot push to a readonly array
```

**2. Array Methods**

TypeScript provides array methods such as `map`, `filter`, `reduce`, etc., which work seamlessly with typed arrays.

**Example**:

```typescript
const numbers: number[] = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(num => num * 2);
console.log(doubledNumbers); // Output: [2, 4, 6, 8, 10]
```

**Summary**

* Accessing arrays in TypeScript involves annotating the type with `[]`.
* Arrays can hold values of any type, including primitive types, objects, and even other arrays.
* TypeScript provides array methods and features like `readonly` arrays, which enhance the functionality and safety of array operations.
