Mastering JavaScript : Deep dive to String & Array

AmitAmit
4 min read

JavaScript is a versatile language that provides powerful built-in methods for handling strings and arrays. Whether you're manipulating text or managing collections of data, understanding these methods will help you write more efficient and maintainable code.

In this article, we will cover: Essential string methods like trim(), toUpperCase(), slice(), and method chaining. Key array operations such as indexOf(), splice(), sort(), and working with nested arrays. Loops and practical exercises including even/odd number printing and a simple JavaScript-based To-Do app.

Let’s dive in.

JavaScript String Methods

Strings are immutable sequences of characters. Although their content cannot be changed directly, JavaScript provides several methods to manipulate and process them efficiently.

  1. trim() - Removing Unnecessary Spaces

The trim() method is particularly useful when dealing with user input. It removes whitespace from both ends of a string.

let input = " JavaScript is awesome! "; let cleanedInput = input.trim(); console.log(cleanedInput); // Output: "JavaScript is awesome!"

This is extremely useful when handling form inputs where users might accidentally add spaces.

  1. Imutability of Strings

Unlike arrays, strings are immutable in JavaScript, meaning any modification results in a new string.

let str = "Hello"; str[0] = "h";
console.log(str); // Output: "Hello" (unchanged)

To modify a string, always use string methods.

let newStr = str.replace("H", "h"); console.log(newStr); // Output: "hello"

  1. toUpperCase() and toLowerCase() - Case Transformation

These methods help in standardizing text input for comparisons.

let name = "JavaScript"; console.log(name.toUpperCase()); // Output: "JAVASCRIPT" (usecase depennd upon the user) console.log(name.toLowerCase()); // Output: "javascript"

A common use case is case-insensitive comparisons.

let userInput = "YES"; if (userInput.toLowerCase() === "yes") { console.log("User agreed!"); }

  1. slice(start, end) - Extracting Substrings

The slice() method extracts a portion of a string without modifying the original.

let text = "JavaScript is fun!"; let extracted = text.slice(0, 10); console.log(extracted); // Output: "JavaScript"


  1. Method Chaining - Combining Multiple Methods

JavaScript allows method chaining, making code more readable and efficient.

let userInput = " Learn JavaScript "; let formatted = userInput.trim().toLowerCase().replace("learn", "master"); console.log(formatted); // Output: "master javascript"

JavaScript Array Methods

Arrays in JavaScript allow storing multiple values in a single variable and provide powerful methods for manipulation.

Creating an Array

Arrays can store different data types, including numbers, strings, and objects.

let fruits = ["Apple", "Banana", "Mango"]; console.log(fruits);

Following are the methods which are apply in Array

  1. Finding Elements: indexOf() and includes()

indexOf(item): Returns the position of an item in the array, or -1 if not found.

includes(item): Checks if an array contains a certain item.

let colors = ["Red", "Green", "Blue"]; console.log(colors.indexOf("Green")); // Output: 1 console.log(colors.includes("Yellow")); // Output: false

  1. Merging and Reversing Arrays

The concat() method merges arrays, while reverse() reverses their order.

let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let combined = arr1.concat(arr2); console.log(combined); // Output: [1, 2, 3, 4, 5, 6]

console.log(combined.reverse()); // Output: [6, 5, 4, 3, 2, 1]

  1. slice() vs. splice()

slice(start, end): Extracts elements without modifying the original array.

splice(start, deleteCount, newItem): Modifies the array by adding/removing elements.

let numbers = [10, 20, 30, 40, 50]; console.log(numbers.slice(1, 4)); // Output: [20, 30, 40]

numbers.splice(2, 1, 100); console.log(numbers); // Output: [10, 20, 100, 40, 50]

  1. Sorting an Array (sort())

The sort() method sorts an array alphabetically by default.

let names = ["John", "Alice", "Bob"]; console.log(names.sort()); // Output: ["Alice", "Bob", "John"]

For numeric sorting, use a compare function.

let numbers = [30, 5, 100, 1]; console.log(numbers.sort((a, b) => a - b)); // Output: [1, 5, 30, 100]

  1. Nested Arrays (Multi-Dimensional Arrays)

Arrays can contain other arrays, allowing complex data structures.

let matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];

console.log(matrix[1][2]); // Output: 6

  • JavaScript Loops & Practice Questions

Loops help iterate over arrays efficiently.

  1. Print Even and Odd Numbers

for (let i = 1; i <= 10; i++) { if (i % 2 === 0) console.log(${i} is even); else console.log(${i} is odd); }

  1. Multiplication Table Using while Loop

let num = 1; while (num <= 10) { console.log(5 x ${num} = ${5 * num}); num++; }


  1. To-Do List Using Only JavaScript

let todo  = [];
let req = prompt("please enter your Choice");

while(true){
    if(req == "quit"){
        console.log("quitting app");
        break;
    }

    if(req == "list"){
        console.log("----------")
        for(task of todo){
            console.log(task);
        }
        console.log("----------")
    }
    else if(req == "add") {
        let task = prompt("please enter the task you want to add");
        todo.push(task);
        console.log("task added");
    }
    else if(req == "delete"){
        let idx = prompt("please enter the task");
        todo.splice(idx,1);
        console.log("task deleted");
    }else{
        console.log("wrong request");
    }

    req = prompt("please enter your Choice");
}

Challenges faced while learning these Concepts :

  1. What’s the needs of the term “ Mutability and Immutability”.

  2. Difference between slice and splice as both the terms sounds as same.

How to tackle with these problems :

  1. The best solution to encountering any problem is to read different articles and learn concept from YouTube lectures

  2. Chat Gpt is also a good option for solving problems.

1
Subscribe to my newsletter

Read articles from Amit directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Amit
Amit