How to map array to another array in typescript example
- Admin
 - Mar 6, 2024
 - Typescript
 
This is a brief tutorial covering the following examples in TypeScript and JavaScript:
- How to map an array of strings into another array of strings.
 - How to populate an array of objects from another array of objects. Sometimes, we receive an original array from an API, and we only want to display a specific part of that array.
 
These examples are applicable in both TypeScript and JavaScript.
How to Map an Array of Strings into Another Array
Populating an array from another array is a straightforward task with multiple approaches.
- The first way using the 
slicemethod of an array. - Another approach is to utilize the 
Array.from()method. - The third method using spread operator
 
Here is an example, the output is the same across all methods
let roles = ["one", "two", "three"];
let sliceRoles = roles.slice();
let fromRoles = Array.from(roles);
let newRoles = [...roles];
console.log(roles);
console.log(sliceRoles);
console.log(fromRoles);
console.log(newRoles);
How to map an Array of Objects to Another Array of Objects
There are many ways we can achieve
Array.map method
The map method is employed to iterate through each item in an array and transform it into a new item of the same size.
This method takes the input of n size and converts it into new output with the same size.
Consider an array of user objects.
Each user contains firstname, lastname, id, role
let users = [ { id: "1", fname: "john", lname: "Ken", role: "admin", }, { id: "2", fname: "Eric", lname: "Dawn", role: "user", }, { id: "3", fname: "Andrew", lname: "Karvin", role: "admin", }, ];To convert this array into a new array where each user object contains the name, id, and role:
let newusers = users.map((user) => { return { name: user.fname + " " + user.lname, id: user.id, role: user.role }; }); console.log(newusers);The array has a map() method, iterates each element of an array and constructs a new object, and returns a new array. The new object is returned and assigned to newusers
Output:
[ { name: "john Ken", id: "1", role: "admin", }, { name: "Eric Dawn", id: "2", role: "user", }, { name: "Andrew Karvin", id: "3", role: "admin", }, ];forEach method in the typescript
In TypeScript, the forEach method is utilized to iterate through the array and construct a new object with required fields.
- Declare an array of 
anytype, initialize an object array data - Declare a new result array of 
anytype which is going to assign part of the original array. - Iterate an array using the 
forEachloop - add each item to a new result with the required fields
 - Finally, a new array is returned
 
Here is an example
var books: Array<any> = [ { id: "1", rating: 5, name: "Book1", }, { id: "2", rating: 4, name: "Book", }, { id: "11", rating: 3, name: "Book3", }, ]; var bookRatings: Array<any> = []; console.log(bookRatings); books.forEach((item) => { bookRatings.push({ name: item.name, rating: item.rating, }); }); console.log(bookRatings);Output:
[ { "name": "Book1", "rating": 5 }, { "name": "Book", "rating": 4 }, { "name": "Book3", "rating": 3 } ]- Declare an array of 
 Using Lodash and Underscore _.map
Both Lodash and Underscore libraries provide a
mapmethod that behaves similarly to the array method.let result = Arrays.map(users, function transform(user) { return { name: user.fname + " " + user.lname, id: user.id, role: user.role }; });
Conclusion
To Sum up, Learned how to map strings to an array of strings with examples.
