Menu

FullStack Development November 2023

FullStack Development November 2023

JavaScript Scratchpad #1 – #6

// let greeting = 'Hello World, Welcome to RST Forum';
// let result = greeting.toLowerCase().indexOf('world');
// console.log(result);

// Substitution, Evaluation
// Think like your compiler/interpreter

let greeting = 'Hello World, Welcome to RST Forum';
let result = greeting.toLowerCase().indexOf('world');
console.log(result);


// // console.log(10 + 5);
// // console.log('hello world');

// let cart = 5;
// let amount = 6000;

// // concatenation
// // let message =
// // 	'You have ' + cart + ' items in your cart. Total amount: Rs. ' + amount + '.';

// // interpolation
// let message = `You have ${cart} items in your cart. Total amount: Rs. $${amount}`;

// // expression -> return/become a single value.
// // statements -> commands. Do not return anything.

// console.log(message);

// let age = 30;

// // code block - {} - structured programming
// if (age > 18) {
// 	console.log('Hello');
// }

// let num = 19;

// if (num % 2 === 0) {
// 	console.log('Even number');
// } else if (num % 2 === 1) {
// 	console.log('Odd number');
// }

// let age = 30;

// if (age >= 65) {
// 	console.log('Drinks are free');
// } else if (age >= 21) {
// 	console.log('You can enter and you can drink');
// } else if (age >= 18) {
// 	console.log('You can enter but you cannot drink.');
// } else {
// 	console.log('Not allowed');
// }

// let password = 'helloworld@123';

// if (password.length > 8) {
// 	if (password.search(' ') !== -1) {
// 		console.log('Password cannot contain spaces!');
// 	} else {
// 		console.log('Valid password!');
// 	}
// } else {
// 	console.log('Password has to be minimum 8 chars in length.');
// }

// let loggedInUser = null;

// if (loggedInUser) {
// 	console.log('Welcome to your dashboard.');
// } else {
// 	console.log('Please login to enter.');
// }

// let age = 23;

// if (age >= 18 && age < 21) {
// 	console.log('You can enter but you cannot drink.');
// } else if (age >= 21 && age < 65) {
// 	console.log('You can enter and you can drink');
// } else if (age >= 65) {
// 	console.log('Drinks are free');
// } else {
// 	console.log('Not allowed');
// }

// let day = 2;

// if (day === 0) {
// 	console.log('Monday');
// } else if (day === 1) {
// 	console.log('Tuesday');
// } else if (day === 2) {
// 	console.log('Wednesday');
// } else {
// 	console.log('Invalid day code');
// }

let day = 0;

switch (day) {
	case 0:
		console.log('Sun');
		break;
	case 1:
		console.log('Mon');
		break;
	case 2:
		console.log('Tue');
		break;
	case 3:
		console.log('Wed');
		break;
	case 4:
		console.log('Thu');
		break;
	case 5:
		console.log('Fri');
		break;
	case 6:
		console.log('Sat');
		break;
	default:
		console.log('Invalid day code');
}


// let num = 6;

// num % 2 === 1 ? console.log('Odd') : console.log('Even');

// if (num % 2 === 1) {
// 	console.log('Odd');
// } else {
// 	console.log('Even');
// }

let statusType = 'online';

// let color = statusType === 'online' ? 'green' : 'red';

let color =
	statusType === 'online'
		? 'green'
		: statusType === 'offline'
		? 'red'
		: 'yellow';

// let color;

// if (statusType === 'online') {
// 	color = 'green';
// } else if (statusType === 'offline') {
// 	color = 'red';
// } else {
// 	color = 'yellow';
// }

console.log(color);


// const product = [
// 	'idx',
// 	'iPhone 15',
// 	'Apple',
// 	'Some description...',
// 	100000,
// 	500,
// 	true,
// ];

// const products = [
// 	['idx', 'iPhone 15', 'Apple', 'Some description...', 500, 100000, true],
// 	[
// 		'idx',
// 		'Samsung Galaxy s24',
// 		'Samsung',
// 		'Some description...',
// 		5000,
// 		100000,
// 		false,
// 	],
// ];

// const product1 = [
// 	1,
// 	'iPhone 15',
// 	'Apple',
// 	'Some description...',
// 	100000,
// 	500,
// 	true,
// ];
// console.log(product1[1]);

// const product2 = {
// 	srNo: 1,
// 	brand: 'Apple',
// 	description: 'Some description...',
// 	'in stock': 500,
// 	name: 'iPhone 15',
// 	price: 100000,
// 	discounted: true,
// 	1: [1, 2, 3],
// };

// // console.log(product2['price']);
// console.log(product2['in stock']);
// console.log(product2.brand);
// // console.log(product2[1]);
// console.log(product2[1]);

// let playlist = [
// 	{
// 		title: 'Song name #1',
// 	},
// 	{
// 		title: 'Song name #1',
// 	},
// 	{
// 		title: 'Song name #1',
// 	},
// ];

// const pallette = {
// 	red: '#eb4d4b',
// 	yellow: '#f9ca24',
// 	blue: '#30336b',
// };

// let color = 'blue';

// // console.log(pallette[color]);

// console.log(pallette[color]);

// const product = {
// 	brand: 'Apple',
// 	description: 'Some description...',
// 	name: 'iPhone 15',
// 	price: 100000,
// 	discounted: true,
// };

// for (let num = 0; num < 10; num++) {
// 	console.log(`${num}*${num}=${num * num}`);
// }

// for (let count = 10; count >= 0; count--) {
// 	console.log(count);
// }

// const nums = [12, 34, 56, 34, 78, 54, 23, 12];

// for (let i = 0; i < nums.length; i++) {
// 	console.log(nums[i]);
// }

// const movies = [
// 	{ movieName: 'Inception', rating: 3.8 },
// 	{ movieName: 'Avengers', rating: 3.4 },
// 	{ movieName: 'Iron Man', rating: 2.9 },
// ];

// for (let i = 0; i < movies.length; i++) {
// 	// console.log(movies[i]);
// 	const movie = movies[i];
// 	console.log(`${movie.movieName} has a rating of ${movie.rating}`);
// }

// const word = 'Hello World';

// // for (let i = 0; i < word.length; i++) {
// // 	console.log(word[i]);
// // }

// let reversedString = '';
// for (let i = word.length - 1; i >= 0; i--) {
// 	// console.log(word[i]);
// 	reversedString += word[i];
// }

// console.log(reversedString);

// for (let i = 0; i < 5; i++) {
// 	console.log('OUTER LOOP');
// 	for (let j = 0; j < 5; j++) {
// 		console.log('    INNER LOOP');
// 	}
// }

// const gameBoard = [
// 	[4, 64, 8, 4],
// 	[128, 32, 4, 16],
// 	[16, 4, 4, 32],
// 	[2, 16, 16, 2],
// ];

// for (let i = 0; i < gameBoard.length; i++) {
// 	for (let j = 0; j < gameBoard[i].length; j++) {
// 		console.log(gameBoard[i][j]);
// 	}
// }

let total = 0;
let num = 0;

while (num < 1000000000) {
	total += num;
	num++;
}

console.log(total);


// for (let i = 0; i < 10; i++) {
// 	console.log(i);
// }

// let i = 0;

// while (i < 10) {
// 	console.log(Math.random());
// 	i++;
// }

// const target = Math.floor(Math.random() * 100) + 1; // 23
// let guess = Math.floor(Math.random() * 100) + 1; // 12

// while (target !== guess) {
// 	if (guess === 13) {
// 		console.log('Unlucky number 13');
// 		break;
// 	}
// 	console.log(`Target: ${target} | Guess: ${guess}`);
// 	guess = Math.floor(Math.random() * 100) + 1;
// }

// console.log(`Final Result\nTarget: ${target} | Guess: ${guess}`);

// const target = Math.floor(Math.random() * 100) + 1; // 23
// let guess = Math.floor(Math.random() * 100) + 1; // 12

// while (true) {
// 	if (guess === target) {
// 		break;
// 	}
// 	console.log(`Target: ${target} | Guess: ${guess}`);
// 	guess = Math.floor(Math.random() * 100) + 1;
// }

// console.log(`Final Result\nTarget: ${target} | Guess: ${guess}`);

// const langs = ['JavaScript', 'Python', 'Elm', 'Odin', 'Rust', 'Lisp'];

// // for (let i = 0; i < langs.length; i++) {
// // 	console.log(langs[i]);
// // }

// for (let lang of langs) {
// 	console.log(lang);
// }

// for (let char of 'Hello World') {
// 	console.log(char);
// }

// const matrix = [
// 	[1, 4, 7],
// 	[9, 7, 2],
// 	[9, 4, 6],
// ];

// for (let row of matrix) {
// 	for (let num of row) {
// 		console.log(num);
// 	}
// }

// const cats = ['fashion', 'mobiles', 'books'];
// const prods = ['tshirt', 'samsung', '1984'];

// for (let i = 0; i < cats.length; i++) {
// 	console.log(cats[i], prods[i]);
// }

// const profile = { firstName: 'John', lastName: 'Doe', age: 20 };

// // for (let key of Object.keys(profile)) {
// // 	console.log(key, profile[key]);
// // }

// for (let key in profile) {
// 	console.log(key);
// }

// for (let value of Object.values(profile)) {
// 	console.log(value);
// }

// DRY
// WET UNIX

// function flipCoin() {
// 	let randomNum = Math.random();

// 	if (randomNum > 0.5) {
// 		console.log('HEADS');
// 	} else {
// 		console.log('TAILS');
// 	}
// }

// flipCoin();
// flipCoin();
// flipCoin();
// flipCoin();
// flipCoin();

// function rollDie() {
// 	let roll = Math.floor(Math.random() * 6) + 1;
// 	console.log(`Rolled: ${roll}`);
// }

// function throwDice() {
// 	rollDie();
// 	rollDie();
// 	rollDie();
// }

// function throwDice(times) {
// 	for (let i = 0; i < times; i++) {
// 		rollDie();
// 	}
// }

// throwDice(1);

// function greet(firstName, lastName) {
// 	console.log(`Hello my name is ${firstName} ${lastName}`);
// }

// greet('john', 'doe');
// greet('jane', 'smith');
// greet('jack', 'roe', 29, 'hello');

// function greet() {
// 	return 'Hello World';
// }

// let result = greet();
// console.log(result);

// let person = 'Jane Doe'; // GLOBAL SCOPE

// function greet() {
// 	// let person = 'Richard Roe';
// 	console.log(person); // FUNCTION SCOPE
// }

// greet();
// console.log(person);

// let person = 'Jane Doe';

// if (true) {
// 	var person = 'Richard Smith';
// 	console.log(person);
// }

// console.log(person);

// for (var i = 0; i < 5; i++) {
// 	console.log(i);
// }

// console.log(i);

// var hello = 'world';
// var hello = 'new world';


// let message = 'OUTSIDE';

// function outer() {
// 	// let message = 'Hello World';
// 	function inner() {
// 		let message = 'Something else!';
// 		console.log(message);
// 	}
// 	inner();
// 	console.log(message);
// }

// outer();

// Named function
// function greet() {
// 	console.log('Hello World!');
// }

// const myFunc = function () {
// 	console.log('Welcome to my app!');
// };

// (function () {
// 	console.log('Welcome to my app!');
// })();

// console.log(myFunc);

// console.log(function () {
// 	console.log('Welcome to my app!');
// });

// let test = greet;

// test();

// const myFunc = function () {
// 	console.log('Hello World');
// };

// const math1 = [
// 	function (a, b) {
// 		return a + b;
// 	},
// 	function (a, b) {
// 		return a - b;
// 	},
// 	function (a, b) {
// 		return a * b;
// 	},
// 	function (a, b) {
// 		return a / b;
// 	},
// ];

// console.log(math1[0](10, 20));

// const math = {
// 	add: function (a, b) {
// 		return a + b;
// 	},
// 	sub: function (a, b) {
// 		return a - b;
// 	},
// 	mul: function (a, b) {
// 		return a * b;
// 	},
// 	div: function (a, b) {
// 		return a / b;
// 	},
// };

// console.log(math.add(10, 2));

// const hello = {
// 	test: function () {
// 		console.log('Hello world');
// 	},
// 	val: 5,
// };

// hello.test();

// function math(a, b, fn) {
// 	return fn(a, b);
// }

// function add(a, b) {
// 	return a + b;
// }

// console.log(math(10, 20, add));

// console.log(
// 	math(100, 20, function (a, b) {
// 		return a - b;
// 	})
// );

// function raiseBy(num) {
// 	return function (x) {
// 		return x ** num;
// 	};
// }

// const square = raiseBy(2);
// const cube = raiseBy(3);
// console.log(cube(10));

// function isBetween(x, y) {
// 	return function (num) {
// 		return num >= x && num < y;
// 	};
// }

// const test1 = isBetween(18, 21);
// console.log(test1(40));

// function math(a, b, fn) {
// 	return fn(a, b);
// }

// function add(a, b) {
// 	return a + b;
// }

// // console.log(math(10, 20, add));

// math(10, 20, function (a, b) {
// 	return a - b;
// });

// <button>Click here</button>

// setTimeout(function () {
// 	console.log('hello world');
// }, 5000);

// setInterval(function () {
// 	console.log('hello world');
// }, 1000);

// greet();

// function greet() {
// 	console.log('Hello World');
// }

// console.log(hello);

// var hello = 'world';

// const langs = ['JavaScript', 'Python', 'Rust', 'Zig', 'Ruby'];

// // for (let lang of langs) {
// // 	console.log(lang);
// // }

// langs.forEach(function (lang) {
// 	console.log(lang);
// });

const movies = [
	{
		title: 'Avengers',
		rating: 4.1,
	},
	{
		title: 'Dr. Strange',
		rating: 3.9,
	},
	{
		title: 'Tenet',
		rating: 4.3,
	},
	{
		title: 'Joker',
		rating: 4.7,
	},
];

movies.forEach(function (movie, i) {
	console.log(`${i} - ${movie.title} has a rating of ${movie.rating}`);
});