Skip to content

Instantly share code, notes, and snippets.

@smart-onion
Created May 12, 2025 11:38
Show Gist options
  • Save smart-onion/3af98081c2bc6d5afc4acda7ae4d3e46 to your computer and use it in GitHub Desktop.
Save smart-onion/3af98081c2bc6d5afc4acda7ae4d3e46 to your computer and use it in GitHub Desktop.
JS3
let rectangle = {
topLeft: {x:0, y:0},
bottomRight: {x:0, y:0}
}
function width(rect){
return rect.bottomRight.x - rect.topLeft.x;
}
function height(rect){
return rect.topLeft.y - rect.bottom.y;
}
function square(rect){
return width(rect)*height(rect);
}
function perimeter(rect){
return (2*width(rect)) + (2*height(rect));
}
function changeWidth(rect, value){
rect.bottomRight.x -= value;
return rect;
}
function changeHeight(rect, value){
rect.topLeft.x += value;
return rect;
}
function moveXAxis(rect, value){
rect.topLeft.x += value;
rect.bottomRight.x += value;
return rect;
}
function moveYAxis(rect, value){
rect.topLeft.y += value;
rect.bottomRight.y += value;
return rect;
}
function isPointInside(rect, x, y){
return rect.topLeft.x >= x &&
rect.topLeft.y <= y &&
rect.bottomRight.x <= x &&
rect.bottomRight.y >= y;
}
function Fraction(numerator, denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
function add(fraction1, fraction2){
let fraction = new Fraction();
if (fraction1.denominator !== fraction2.denominator) {
fraction.numerator = fraction1.numerator*fraction2.denominator + fraction1.denominator*fraction2.numerator;
fraction.denominator = fraction1.denominator*fraction2.denominator;
}
else{
fraction.numerator = fraction1.numerator*fraction2.numerator;
}
return fraction;
}
function deduct(fraction1, fraction2){
let fraction = new Fraction();
if (fraction1.denominator !== fraction2.denominator) {
fraction.numerator = fraction1.numerator*fraction2.denominator - fraction1.denominator*fraction2.numerator;
fraction.denominator = fraction1.denominator*fraction2.denominator;
}
else{
fraction.numerator = fraction1.numerator*fraction2.numerator;
}
return fraction;
}
function multiply(fraction1, fraction2){
let fraction = new Fraction();
fraction.numerator = fraction1.numerator * fraction2.numerator;
fraction.denominator = fraction1.denominator * fraction2.denominator;
return fraction
}
function devide(fraction1, fraction2){
let fraction = new Fraction();
fraction.numerator = fraction1.numerator * fraction2.denominator;
fraction.denominator = fraction1.denominator * fraction2.numerator;
return fraction
}
function ClassRoom(name, seatsNumber, departmentName){
this.name = name;
this.seatsNumber = seatsNumber;
this.departmentName = departmentName;
}
let classRooms = [
new ClassRoom("b", 11, "JS"),
new ClassRoom("a", 10, "C#"),
new ClassRoom("d", 15, "Python"),
];
function showClassRoomByDepartment(classRooms,departmentName){
for (const classRoom in classRooms) {
if(classRoom.departmentName === departmentName) return classRoom.name;
}
return null;
}
function showAllClassRooms(classRooms){
for (const classRoom in classRooms) {
console.log(classRoom);
}
}
function sortBySeatsNumber(classRooms){
return classRooms.sort((a,b) => a.seatsNumber - b.seatsNumber);
}
console.log(sortBySeatsNumber(classRooms));
function sortByName(classRooms){
return classRooms.sort((a,b) => a.name - b.name);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment