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());