Created
May 12, 2025 11:38
-
-
Save smart-onion/3af98081c2bc6d5afc4acda7ae4d3e46 to your computer and use it in GitHub Desktop.
JS3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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