Browse Source

homework6 done

holevchuk.evgeny 1 year ago
parent
commit
ce850d6274
1 changed files with 130 additions and 0 deletions
  1. 130 0
      hw06/index.js

+ 130 - 0
hw06/index.js

@@ -0,0 +1,130 @@
+// a
+function aSample() {
+	function a(string){
+		alert(string);
+	}
+	a("Привет!");
+}
+
+// cube
+function cubeSample() {
+	function cube(number){
+		return Math.pow(number, 3)
+	}
+
+	console.log(cube(9)); // 729
+}
+
+// avg2
+function avg2Sample() {
+	function avg2(number1, number2) {
+		return (number1 + number2) / 2;
+	}
+
+	console.log(avg2(1, 2)); // 1.5
+	console.log(avg2(10, 5)) // 7.5
+}
+
+
+// sum3
+function sum3Sample() {
+	function sum3(...rest) {
+		return Array.from(rest).reduce((a, b) => a + b);
+	}
+
+	console.log(sum3(1,2,3)) // => 6
+	console.log(sum3(5,10,100500)) // => 100515
+	console.log(sum3(5,10)) // => 15
+}
+
+// intRandom
+function intRandomSample() {
+	function intRandom(maximalValue, minimalValue = 0) {
+		return Math.floor(Math.random() * (maximalValue - minimalValue + 1) + minimalValue);
+	}
+
+	console.log(intRandom(2, 15));
+	console.log(intRandom(-1, -1));
+	console.log(intRandom(0, 1));
+	console.log(intRandom(10));
+}
+
+// greetAll
+function greetAllSample() {
+	function greetAll(...params) {
+		let greetString = '';
+		Array.from(params).forEach(element => {
+			greetString += `${element}, `;
+		});
+		return alert(`Hello ${greetString.slice(0, -2)}`);
+	}
+
+	greetAll("Superman"); // Hello Superman
+	greetAll("Superman", "SpiderMan"); // Hello Superman, SpiderMan
+	greetAll('Superman', 'SpiderMan', 'Captain Obvious'); // Hello Superman, SpiderMan, Captain Obvious
+}
+
+// sum
+function sumSample() {
+	function sum() {
+		let sum = 0;
+		for (let item of arguments) {
+			sum += item;
+		}
+		return sum;
+	}
+
+	console.log(sum(1)) // 1
+	console.log(sum(2)) // 2
+	console.log(sum(10, 20, 40, 100)) // 170
+}
+
+// Union
+let sample = prompt("Введите название задания");
+switch (sample.toLowerCase()) {
+	case "a":
+		aSample();
+		break;
+	case "cube":
+		cubeSample();
+		break;
+	case "avg2":
+		avg2Sample();
+		break;
+	case "sum3":
+		sum3Sample();
+		break;
+	case "intrandom":
+		intRandomSample();
+		break;
+	case "greetall":
+		greetAllSample();
+		break;
+	case "sum":
+		sumSample();
+		break;
+	default:
+		alert('Неверное название задания');
+}
+
+// Union declarative
+let sampleDeclarative = prompt("Введите название задания");
+
+const callSample = (sampleType) => {
+	const sampleObj = {
+		'a': aSample,
+		'cube': cubeSample,
+		'avg2': avg2Sample,
+		'sum3': sum3Sample,
+		'intrandom': intRandomSample,
+		'greetall': greetAllSample,
+		'sum': sumSample,
+		'default': () => {
+			alert('Неверное название задания');
+		}
+	};
+
+	return (sampleObj[sampleType] || sampleObj['default'])();
+}
+
+callSample(sampleDeclarative);