Skip to content

Instantly share code, notes, and snippets.

@emohamed
Created January 21, 2014 15:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emohamed/8542173 to your computer and use it in GitHub Desktop.
Save emohamed/8542173 to your computer and use it in GitHub Desktop.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Document</title>
</head>
<body>
<script>
Object.prototype.inspect = function () {
console.log(this);
}
</script>
<script>
"use strict";
(function () {
console.time("Executed in:");
console.group("Task - 2");
var five = 5;
var lorem_small = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus, ducimus, aperiam eaque dolore asperiores autem facere eveniet iste id possimus fugiat nihil rerum praesentium cum veritatis. Repudiandae, fugit, officia dolores placeat quisquam illo animi quibusdam dignissimos delectus quia maiores saepe ipsum culpa earum quae ut ipsa impedit ipsam debitis odio facilis numquam nulla itaque libero ex porro rem quidem aperiam tenetur doloremque. Cum vero aliquam et libero eos sunt voluptatibus sapiente tempore totam officiis? Doloribus, magni, laudantium provident eos cumque harum molestiae a distinctio dolorum et expedita natus voluptatibus commodi eaque optio quasi repudiandae aliquam ipsa cupiditate libero amet repellendus.";
var lorem_large = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Neque, quibusdam, fugit, quas, suscipit asperiores impedit nobis maxime cupiditate numquam reprehenderit doloremque cum aut corporis nostrum iste esse voluptates ratione exercitationem deleniti doloribus. Dolores, eius sequi magnam voluptatibus eos excepturi cupiditate. Commodi cupiditate facilis a eos omnis temporibus aperiam veniam explicabo similique natus? Totam, laborum, numquam, minus, et officiis ad excepturi vitae maiores itaque beatae nobis dicta voluptates obcaecati tenetur architecto possimus rerum reiciendis magni iste a. Accusantium, explicabo, consequatur velit voluptate animi quis consectetur doloremque minima beatae esse aliquid odit voluptas vel. Quos, a tempora necessitatibus modi voluptatem. Magnam, fuga, voluptatum, quo, ipsum repellat vitae ipsam iure aperiam ratione perferendis numquam autem commodi nobis distinctio a placeat dolore. Facilis, sequi, odit necessitatibus distinctio dolorem dignissimos eligendi quis. Aut, sit similique ipsum ut beatae deleniti. Perferendis, corporis, saepe, pariatur, placeat mollitia non nulla delectus voluptatibus ullam neque omnis sapiente ad tempore eum nihil sed quidem cumque molestias modi commodi quis ratione voluptatum soluta accusantium nisi architecto aliquam laudantium! Consectetur, a sapiente eos assumenda facilis aliquam quibusdam vel accusantium quo quis. Sint, fugit quis blanditiis ducimus deserunt adipisci porro iusto delectus ipsum tempora aperiam animi expedita nobis voluptatibus impedit. Quibusdam, hic, iure, laudantium, perspiciatis suscipit aspernatur qui quas asperiores quisquam necessitatibus facilis laborum libero optio nesciunt debitis fuga alias dolorum eum ducimus enim quae rerum provident sapiente esse laboriosam? Libero, omnis, quod distinctio aperiam sed quam ex in debitis eveniet placeat consequatur magni minus esse totam voluptates quos aliquid nemo sunt provident voluptatibus unde asperiores vel modi! Quis, eius, fugit, minus harum consequatur reprehenderit laborum quibusdam voluptates labore unde fugiat blanditiis repellat libero totam odit deleniti porro ad esse reiciendis ea. Nesciunt, nulla in at nam doloremque provident asperiores magni perferendis aliquam! Nostrum, quo repellat veniam ab optio earum maiores necessitatibus perspiciatis totam velit beatae repellendus odit officiis quia animi corporis tempora at quasi numquam quae. Explicabo, nobis, quod atque ratione est iure exercitationem vero eum reprehenderit distinctio dolore voluptatibus id libero cupiditate quam ad adipisci ipsa aperiam dignissimos expedita illum dolor nesciunt saepe debitis illo repellendus molestiae tempora et similique eaque rem ab quia officia. Fugiat, suscipit, soluta voluptas quos incidunt eos eligendi animi delectus saepe omnis maxime dolor asperiores ipsum ex tempora repellat illo cupiditate voluptates nemo atque odit. Aperiam, libero quo laborum facilis repellat ut dicta. Consectetur, eum, cumque, quibusdam est asperiores tenetur accusamus libero porro quaerat tempora odio quam amet ipsam aut sint officia nam quod facere placeat maxime recusandae veniam quisquam. Rerum, mollitia, asperiores, culpa vel quo velit deserunt perferendis totam nemo facere quidem enim non aspernatur iure possimus. Molestias, non, exercitationem, odio nostrum sequi tenetur molestiae doloribus consectetur officia placeat libero quas iste cum neque voluptas quia delectus quasi aut veritatis ut quibusdam impedit debitis commodi eius ipsa iusto obcaecati numquam culpa velit amet. Culpa, ut, nesciunt optio odit itaque deserunt modi earum nulla pariatur accusantium alias a eius nisi similique ullam minima magni eos iste? Debitis, quia, facilis aliquid dolores eligendi delectus quam excepturi mollitia maxime ratione iste doloribus totam quidem nesciunt quaerat quo soluta id voluptate ab officia nulla vero molestiae voluptatem sequi autem rerum velit neque earum assumenda aliquam maiores dicta tempore at nemo voluptatibus similique blanditiis ducimus. Excepturi, deleniti, blanditiis doloremque quos dolore minima dolorum fuga inventore ipsa. Corporis, eaque in totam sequi ratione porro aspernatur hic suscipit consectetur quidem excepturi cumque voluptates natus beatae non iste est molestias id eius magnam quis autem provident delectus magni deleniti labore repellendus iure similique iusto corrupti vitae dolorum quibusdam fugit quo nesciunt soluta voluptas voluptate reiciendis aut ipsam illum laudantium quas nihil rerum cum incidunt. Distinctio, cumque, voluptatibus, tenetur eius pariatur nulla totam est suscipit libero quod odit alias quam! Aut, nisi quasi unde voluptate magni in consectetur maxime reiciendis. Sapiente, molestias, provident impedit praesentium consequuntur corporis optio aliquam vero dolores similique quaerat laudantium molestiae distinctio repudiandae quasi est exercitationem repellendus illo. Nulla, dicta, repellendus, maiores, odit explicabo facilis culpa qui soluta doloribus consequuntur enim odio labore dolore quasi laborum iusto quos unde illo laboriosam quam praesentium quas ab voluptas minus quod impedit aliquid et beatae expedita quae inventore dolor necessitatibus dignissimos molestiae illum cum error architecto. Autem, fugiat, consequatur, maiores quis accusantium assumenda non totam inventore reprehenderit id animi ducimus voluptates facere placeat odio deleniti culpa neque magni tempora temporibus perferendis nemo facilis delectus aut in officia beatae voluptatem obcaecati nihil repellendus. Repellat, incidunt, id, ad atque harum corrupti aperiam beatae voluptas perspiciatis culpa repudiandae totam error quaerat maiores rerum cum asperiores rem suscipit odit minima reprehenderit facilis quibusdam cumque iusto odio hic assumenda inventore consequatur sit tenetur recusandae soluta velit amet modi possimus maxime distinctio sed doloribus ducimus quo! Necessitatibus, numquam, iure, reprehenderit eligendi at enim aliquam eveniet quaerat nisi quidem deserunt dolor velit quis maiores rem? Maiores facere reiciendis fuga modi pariatur obcaecati ratione nulla vitae! Dolorem blanditiis ea amet laudantium tempore dolores sunt! Ab, quibusdam assumenda error voluptate placeat dolor sed obcaecati officia natus architecto facere quidem iste beatae magnam nisi consectetur tempore numquam voluptatum eos labore? Obcaecati, ex, excepturi voluptatum a est sint iusto aperiam laborum quo sequi alias deserunt eum voluptates doloribus iure asperiores deleniti distinctio nihil odit aut animi quibusdam pariatur quae accusamus expedita quisquam sit maxime vel delectus! Accusamus, modi ab nulla numquam ipsa. Nam, sequi natus laboriosam sunt incidunt et veritatis commodi? Nobis, praesentium soluta suscipit accusantium culpa sunt odio eum molestias atque reiciendis natus beatae dolor expedita quaerat aut doloribus officiis veniam quasi sapiente possimus quas adipisci ipsam vel pariatur neque voluptatibus porro consectetur rem alias illum tempora magni autem dignissimos quis nemo quia voluptatem a perferendis cupiditate officia repellat sit libero voluptate tempore aperiam aliquid! Consequuntur, eos aliquam nulla numquam dolores sit itaque quidem ad ullam nisi. Exercitationem, enim cumque ut cupiditate! Rem, eos, recusandae, officia, quod eaque qui quisquam quas culpa fugiat molestias minus dolor et accusantium dolore ea laudantium minima non animi ipsam rerum. Quaerat, in, adipisci, consequatur, mollitia non maxime vel asperiores tenetur velit enim earum aliquam voluptatum animi aspernatur!";
(function () {
//1. Дефинирайте функция, която намира най-малкото от 3 числа.
console.log("1. Дефинирайте функция, която намира най-малкото от 3 числа.");
var array_min = function (numbers) {
var min = +numbers[0];
for (var i = 1; i < numbers.length; i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
return min;
}
var numbers = [17, 15, 20];
var result = array_min(numbers);
console.log(result);
})();
(function () {
//2. Дефинирайте функция, която намира най-голямото от 3 числа.
console.log("2. Дефинирайте функция, която намира най-голямото от 3 числа.");
var array_max = function (numbers) {
var max = +numbers[0];
for (var i = 1; i < numbers.length; i++) {
if (numbers[i] > max) { max = numbers[i]; }
}
return max;
}
var numbers = [17, 15, 20];
var result = array_max(numbers);
console.log(result);
})();
(function () {
//3. Дефинирайте функция, която намира средното по големина число.
console.log("3. Дефинирайте функция, която намира средното по големина число.");
var swap = function (numbers, position_1, position_2) {
var temp;
temp = numbers[position_2];
numbers[position_2] = numbers[position_1];
numbers[position_1] = temp;
return numbers;
}
var array_average = function(numbers) {
for (var position_1 = 0; position_1 < numbers.length-1; position_1++) {
for (var position_2 = 1; position_2 < numbers.length; position_2++) {
if (numbers[position_1] < numbers[position_2]) {
numbers = swap (numbers, position_1, position_2);
}
}
}
return numbers[Math.round(numbers.length / 2)-1];
}
var numbers = [30, 20, 40];
var result = array_average(numbers);
console.log(result);
})();
(function () {
//4. Дефинирайте функция, която намира най-дългото по символи число.
console.log("4. Дефинирайте функция, която намира най-дългото по символи число.");
var is_longer = function (number1, number2) {
if (number1.toString().length > number2.toString().length) {
return true;
} else {
return false;
}
}
var longest_number = function (numbers) {
var result_position = 0;
for (var i = 1; i < numbers.length; i++) {
if (is_longer(numbers[i], numbers[result_position])) {
result_position = i;
}
}
return numbers[result_position];
}
var numbers = [30, 0.36545, -100000];
var result = longest_number(numbers);
console.log(result);
})();
(function () {
//5. Дефинирайте функция, която сумира цифрите на дадено число.
console.log("5. Дефинирайте функция, която сумира цифрите на дадено число.");
var sum_digits = function (number) {
var sum = 0;
number = Math.abs(number);
while (number > 0) {
sum += number % 10;
number = Math.floor(number / 10);
}
return sum;
}
var number = 978123987;
var result = sum_digits(number);
console.log(result);
})();
(function () {
//6. Дефинирайте функция, която връща случайно число между две числа.
console.log("6. Дефинирайте функция, която връща случайно число между две числа.");
var random = function (begin_number, end_number) {
var result = Math.round(Math.random() * (end_number - begin_number) + begin_number);
return result;
}
var begin_number = 10, end_number = 35;
var result = random(begin_number, end_number);
console.log(result);
})();
(function () {
//7. Дефинирайте функция, която замества всяка буква от дадена дума с нейния номер от азбуката.
console.log("7. Дефинирайте функция, която замества всяка буква от дадена дума с нейния номер от азбуката.");
var string_letter_to_numbers = function (input_string) {
var result = "";
for (var i = 0; i < input_string.length; i++) {
var number = input_string.charCodeAt(i)-64;
if (number > 32) {
number -= 32;
}
result += number.toString();
}
return result;
}
var input_string = "AaBbCcDdEe";
var result = string_letter_to_numbers(input_string);
console.log(result);
})();
(function () {
//8. Дефинирайте функция, която намира най-дългата от 3 думи.
console.log("8. Дефинирайте функция, която намира най-дългата от 3 думи.");
var longest_word = function (words) {
var longest_word_position = 0;
for (var i = 0; i < words.length; i++) {
if (words[longest_word_position].length < words[i].length) {
longest_word_position = i;
}
}
return words[longest_word_position];
}
var words = ["word1", "word2asd", "word312345", "wor"];
var result = longest_word(words);
console.log(result);
})();
(function () {
//9. Дефинирайте функция, която намира всички гласни букви от даден стринг и ги извежда.
console.log("9. Дефинирайте функция, която намира всички гласни букви от даден стринг и ги извежда.");
var string_vowel_extracter = function (input_string) {
var result = "", vowel_list = "AaEeIiOoUuYy";
for (var i = 0; i < input_string.length; i++) {
if (vowel_list.indexOf(input_string.charAt(i)) !== -1) {
result += input_string.charAt(i);
}
}
return result;
}
var input_string = "AaBbCcDdEsedgfAgagEhefdI34ifweOffsdofU3u34fY34fyf";
var result = string_vowel_extracter(input_string);
console.log(result);
})();
(function () {
//10. Дефинирайте функция, която създава низ използвайки всеки 3-ти символ от даден низ.
console.log("10. Дефинирайте функция, която създава низ използвайки всеки 3-ти символ от даден низ.");
var string_3rd_letters = function (input_string) {
var result = "";
for (var i = 2; i < input_string.length; i += 3) {
result += input_string.charAt(i);
}
return result;
}
var result = string_3rd_letters(lorem_small);
console.log(result);
})();
(function () {
//11. Дефинирайте функция, която да обръща 3 символа през 3 символа от даден низ в горен регистър(например при вход lorem ipsum dolor sit да върне изход LORem IPSum DOLor SIT).
console.log("11. Дефинирайте функция, която да обръща 3 символа през 3 символа от даден низ в горен регистър(например при вход lorem ipsum dolor sit да върне изход LORem IPSum DOLor SIT).");
var string_3x_capitalizer = function (input_string) {
var result = "";
for (var i = 0; i < input_string.length; i += 6) {
for (var j = i; j < 3 + i; j++) {
result += input_string.charAt(j).toUpperCase();
}
for (j = i+3; j < 6 + i; j++) {
result += input_string.charAt(j);
}
}
return result;
}
var result = string_3x_capitalizer (lorem_small);
console.log(result);
})();
(function () {
//12. Дефинирайте функция, която да обръща даден sting на обратно - "test" да стане "tset"
console.log("12. Дефинирайте функция, която да обръща даден sting на обратно - '\"'test\" да стане \"tset\"");
var string_reverser = function (input_string) {
var result = "";
for (var i = input_string.length - 1; i >= 0; i--) {
result += input_string.charAt(i);
}
return result;
}
var result = string_reverser (lorem_small)
console.log(result);
})();
(function () {
//13. Дефинирайте функция, която да замества всяка буквата "a" с цифра 0
console.log("13. Дефинирайте функция, която да замества всяка буквата \"a\" с цифра 0");
var replace_all = function (input_string, searched_character, replacement_character) {
var result = "";
for (var i = 0; i < input_string.length; i++) {
if (input_string.charAt(i) === searched_character) {
result += replacement_character;
} else {
result += input_string.charAt(i);
}
}
return result;
}
var searched_character = "a", replacement_character = "0";
var result = replace_all (lorem_small, searched_character, replacement_character);
console.log(result);
})();
(function () {
//14. Дефинирайте функция, която извежда колко са съвпаденията за даден низ в друг низ.
console.log("14. Дефинирайте функция, която извежда колко са съвпаденията за даден низ в друг низ.");
var find_count = function (look_for, look_in) {
var count = -1, current_position = 0;
do {
current_position = look_in.indexOf(look_for, current_position + 1);
count++;
if (count > 200) { break; }
} while (current_position !== -1);
return count;
}
var look_for = "illum";
var result = find_count(look_for, lorem_large);
console.log(result);
})();
(function () {
//15. Дефинирайте функция, която принтира числата от 1 до 100.
console.log("15. Дефинирайте функция, която принтира числата от 1 до 100.");
var print_numbers = function(start_number, end_number) {
var result = [];
for (var i = 0; i <= end_number - start_number; i++) {
result[i] = i + start_number;
}
return result;
}
var start_number = 1, end_number = 100;
var result = print_numbers (start_number, end_number);
console.log(result);
})();
(function () {
//16. Дефинирайте функция, която принтира числата от 100 до 1.
console.log("16. Дефинирайте функция, която принтира числата от 100 до 1.");
var print_numbers = function(start_number, end_number) {
var result = new Array();
for (var i = 0; i <= end_number - start_number; i++) {
result[i] = end_number - i;
}
return result;
}
var start_number = 1, end_number = 100;
var result = print_numbers (start_number, end_number);
console.log(result);
})();
(function () {
//17. Дефинирайте функция, която принтира четните числа от 1 до 100.
console.log("17. Дефинирайте функция, която принтира четните числа от 1 до 100.");
var print_numbers_even = function(start_number, end_number) {
var result = [];
if (start_number % 2 != 0) {
start_number++;
}
console.log(start_number % 2 != 0 ? test : false);
for (var i = start_number; i <= end_number; i++) {
result.push(i);
}
return result;
}
var start_number = 1, end_number = 100;
var result = print_numbers_even (start_number, end_number);
console.log(result);
})();
(function () {
//18. Дефинирайте функция, която принтира нечетните числа от 99 до 1.
console.log("18. Дефинирайте функция, която принтира нечетните числа от 99 до 1.");
var print_numbers_odd = function(start_number, end_number) {
var result = new Array();
for (var i = 0, j = 0; i <= end_number - start_number; i++, j++) {
if ((end_number - i) % 2 !== 0) {
result[j] = end_number - i;
}
else {
j--;
}
}
return result;
}
var start_number = 1, end_number = 100;
var result = print_numbers_odd (start_number, end_number);
console.log(result);
})();
(function () {
//19. Дефинирайте функция, която принтира числата от 1 до 100, като: за всички числа, които се делят на 3 принтира "Fuzz"; за всички числа, които се делят на 5 принтира "Buzz"; за всички числа, които се делят на 3 и 5 принтира FuuuuzBuuuuz.
console.log("19. Дефинирайте функция, която принтира числата от 1 до 100, като: за всички числа, които се делят на 3 принтира \"Fuzz\"; за всички числа, които се делят на 5 принтира \"Buzz\"; за всички числа, които се делят на 3 и 5 принтира FuuuuzBuuuuz.");
var print_numbers_fuzz_buzz = function(start_number, end_number) {
var result = new Array();
for (var i = 0; i <= end_number - start_number; i++) {
var current_number = i + start_number;
var divides_by_3 = current_number % 3 === 0;
var divides_by_5 = current_number % 5 === 0;
if (divides_by_5 && divides_by_3) {
} else if (divides_by_3) {
} else if (divides_by_5) {
} else {
}
/*
if (current_number % 3 === 0) {
if(current_number % 5 === 0) {
result[i] = "FuuuuzBuuuuz";
}
else {
result[i] = "Fuzz";
}
}
else if (current_number % 5 === 0) {
result[i] = "Buzz";
} else {
result[i] = current_number;
}
*/
}
return result;
}
var start_number = 1, end_number = 100;
var result = print_numbers_fuzz_buzz (start_number, end_number);
console.log(result);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment