Loops and Function basics

    function PatternMaker(n) {
        let Output = "";
        for (let i = 0; i < n; i++) {
          for (let k = 0; k < n - i; k++) {
            Output += "*";
          }
          Output += "\n";
        }
        console.log(Output);
      }
      PatternMaker(7);
      
    

Objects

    const MyInfo = {
        name: "Nakul",
        address: "Imadol",
        email: "niroulanakul@gmail.com",
        interest: "JavaScript",
        education: [
          { name: "Katford", enrolledDate: "2018" },
          { name: "Arniko", enrolledDate: "2015" },
        ],
      };
      MyInfo.education.forEach((education) => {
        console.log("Name:", education.name, ",", "Date:", education.enrolledDate);
      });
      
  

Objects-2

    var fruits = [
    { id: 1, name: "Banana", color: "Yellow" },
    { id: 2, name: "Apple", color: "Red" },
  ];
  function searchByName(arrayName, inputName) {
    for (var i = 0; i < arrayName.length; i++) {
      if (arrayName[i].name === inputName) return arrayName[i];
    }
  }
  var result = searchByName(fruits, "Apple");
  console.log(result);
  
  

Functions

    var numbers = [1, 2, 3, 4];
    function transform(collection, transFunc) {
      return collection.map((value) => {
        return transFunc(value);
      });
    }
    var output = transform(numbers, function (num) {
      return num * 2;
    });
    console.log(output);
  

Sorting

    function sortBy(newArray, key) {
        if (newArray.length === 0) {
          return newArray;
        }
        new_arr = newArray.slice();
        for (let i = 0; i < new_arr.length; i++) {
          var least = i;
          for (let j = i; j < new_arr.length; j++) {
            if (new_arr[j][key] < new_arr[least][key]) {
              least = j;
            }
          }
          if (least != i) {
            temp = new_arr[i];
            new_arr[i] = new_arr[least];
            new_arr[least] = temp;
          }
        }
        return new_arr;
      }
      var arr = [
        {
          id: 1,
          name: "John",
        },
        {
          id: 2,
          name: "Mary",
        },
        {
          id: 3,
          name: "Andrew",
        },
        {
          id: 4,
          name: "NakulNiroula",
        },
        {
          id: 5,
          name: "Abc",
        },
      ];
      
      var sorted = sortBy(arr, "name");
      console.log(sorted);
      
  

Normalization

var input = {
    1: {
      id: 1,
      name: "John",
      children: [
        { id: 2, name: "Sally" },
        { id: 3, name: "Mark", children: [{ id: 4, name: "Harry" }] },
      ],
    },
    5: {
      id: 5,
      name: "Mike",
      children: [{ id: 6, name: "Peter" }],
    },
  };
  function normalization() {
    var output = {};
    function childArray(person) {
      return person.children.map(function (child) {
        return child.id;
      });
    }
    function addChildren(person) {
      let child_arr = childArray(person);
      person.children.forEach((child) => {
        output[child.id] = child;
        if (child.children) {
          addChildren(child);
        }
      });
      changeChildrenFormat(person.id, child_arr);
    }
  
    function changeChildrenFormat(person_id, child_arr) {
      output[person_id].children = child_arr;
    }
    Object.keys(input).forEach((person_id) => {
      output[person_id] = input[person_id];
      person = input[person_id];
      if (person.children) {
        addChildren(person);
      }
    });
    return output;
  }
  console.log(normalization());