Хай! Напишите функцию JavaScript, которая возвращает переданную строку с буквами в алфавитном порядке.
Пример строки: 'alphabetical'. Ожидаемый результат: 'aaabcehillpt'
function alphabet_order(str) {
// Ваш код
}
document.writeln(alphabet_order("alphabetical"));
Решение:
<script>
function alphabet_order(str) {
return str.split('').sort().join('');
}
document.writeln(alphabet_order("alphabetical")); // "aaabcehillpt"
</script>
Пример строки: 'alphabetical'. Ожидаемый результат: 'aaabcehillpt'
function alphabet_order(str) {
// Ваш код
}
document.writeln(alphabet_order("alphabetical"));
Решение:
function alphabet_order(str) {
return str.split('').sort().join('');
}
document.writeln(alphabet_order("alphabetical")); // "aaabcehillpt"
</script>
Привет! Сегодня твоя задача - ответить на вопросы:
1. Что такое каррирование (currying)?
2. Что такое чистая функция?
3. В чем разница между let и var?
Ответы на вопросы:
1. Каррирование — это процесс преобразования функции с несколькими параметрами в несколько функций с одним параметром. Данный процесс назван в четь математика Хаскелла Карри. Каррирование превращает одну n-арную функцию в несколько унарных функций (уменьшает арность функции)
2. Чистая функция — это функция, возвращаемое значение которой зависит только от передаваемых аргументов, без побочных эффектов. Проще говоря, если вы вызывается функцию n раз с n аргументами, и функция всегда возвращает одно и тоже значение, значит, она является чистой
3. Основные отличия состоят в следующем:
var:
- Доступно с момента появления JavaScript
- Имеет глобальную или функциональную область видимости
- Переменные поднимаются в начало области видимости
let:
- Представлено в ES6
- Имеет блочную область видимости
- Переменные также поднимаются, но не инициализируются (поднимается только объявление, но не присвоение значения)
1. Что такое каррирование (currying)?
2. Что такое чистая функция?
3. В чем разница между let и var?
Ответы на вопросы:
2. Чистая функция — это функция, возвращаемое значение которой зависит только от передаваемых аргументов, без побочных эффектов. Проще говоря, если вы вызывается функцию n раз с n аргументами, и функция всегда возвращает одно и тоже значение, значит, она является чистой
3. Основные отличия состоят в следующем:
var:
- Доступно с момента появления JavaScript
- Имеет глобальную или функциональную область видимости
- Переменные поднимаются в начало области видимости
let:
- Представлено в ES6
- Имеет блочную область видимости
- Переменные также поднимаются, но не инициализируются (поднимается только объявление, но не присвоение значения)
Привет! Для тебя есть задача!
Возвращает массив, состоящий из наибольших чисел каждого вложенного массива. Для простоты предоставленный массив будет содержать ровно 4 вложенных массива.
[1,2,3,4]
[5,18,0,12]
[3,5,12,5]
[28,9,2,34]
Should return => [4,18,12,34]
Решение:
Мы можем использовать метод Math.max(…spreadOperator) с методом array.map () для циклического перебора каждого элемента во внешнем массиве, возврата максимального значения из вложенного массива и прямого возврата этого вновь созданного массива.
function largestOfFour(arr) {
return arr.map (subArr => Math.max(...subArr));
}
Возвращает массив, состоящий из наибольших чисел каждого вложенного массива. Для простоты предоставленный массив будет содержать ровно 4 вложенных массива.
[1,2,3,4]
[5,18,0,12]
[3,5,12,5]
[28,9,2,34]
Should return => [4,18,12,34]
Решение:
function largestOfFour(arr) {
return
}
Forwarded from Dev House Jun Front
Всем привет! Хочу напомнить, что сегодня в 19.00 мы с Яном Тишко устраиваем большой лайв на ютубе.)
Не знаешь кто он такой? Вот наш пост - https://yangx.top/dh_jun/488
А это ссылка на него в поиске - https://yandex.ru/search/?text=%D1%8F%D0%BD+%D1%82%D0%B8%D1%88%D0%BA%D0%BE&lr=12
Ссылка - https://www.youtube.com/watch?v=mF11u1CSAHw
Давай, ждем тебя в 19.00 с нами.)
Не знаешь кто он такой? Вот наш пост - https://yangx.top/dh_jun/488
А это ссылка на него в поиске - https://yandex.ru/search/?text=%D1%8F%D0%BD+%D1%82%D0%B8%D1%88%D0%BA%D0%BE&lr=12
Ссылка - https://www.youtube.com/watch?v=mF11u1CSAHw
Давай, ждем тебя в 19.00 с нами.)
Telegram
Dev House Jun Front
Йоу, мы тут решили провести интервью в прямом эфире с Яном Тишко. Ему 29 лет, он Front-end Engineer в Roku (USA), 7 лет опыта во фронте. Юзает JS, TS, реакт и нод. Живет и работает в Калифорнии. Сам парень из Белоруси.
Поговорим о его карьерном пути - от…
Поговорим о его карьерном пути - от…
Залетай - 5 минут до начала стрима) Вопросы можно будет задавать в комментариях.) Интервью с белорусским фронтом в калифорнии - https://www.youtube.com/watch?v=mF11u1CSAHw
YouTube
Интервью с Яном Тишко | От охранника в Беларуси до Front-End Engineer в Калифорнии
Блог Яна: https://yangx.top/front_end_interview
LinkedIn Яна: https://www.linkedin.com/in/yantsishko
DevHouse_Bot https://yangx.top/DevHouse_your_Bot
*в боте много полезных материалов для разработчика
ВК https://vk.com/dev_house
Телеграм https://yangx.top/dh_jun
Сайт…
LinkedIn Яна: https://www.linkedin.com/in/yantsishko
DevHouse_Bot https://yangx.top/DevHouse_your_Bot
*в боте много полезных материалов для разработчика
ВК https://vk.com/dev_house
Телеграм https://yangx.top/dh_jun
Сайт…
Привет. Твоя задача на сегодня:
Напишите тестировщик на основе данного кода. Пусть он спрашивает не один вопрос как сейчас, а 3 вопроса.
Код:
package javaapplication5; //название проекта у вас будет какое-то свое
import java.util.Scanner;
public class JavaApplication5 { //здесь тоже свое
public static void main(String[] args) {
Scanner myscan = new Scanner (System.in);
System.out.println ("Привет!");
System.out.println ("Сколько будет 25*5 ?");
int x = 0;
x = myscan.nextInt (); //считать int с клавиатуры и записать в x
if (x == 125){
System.out.println ("Да, это круто!");
} else {
System.out.println ("Абсолютная ложь!");
}
}
}
Напишите тестировщик на основе данного кода. Пусть он спрашивает не один вопрос как сейчас, а 3 вопроса.
Код:
package javaapplication5; //название проекта у вас будет какое-то свое
import java.util.Scanner;
public class JavaApplication5 { //здесь тоже свое
public static void main(String[] args) {
Scanner myscan = new Scanner (System.in);
System.out.println ("Привет!");
System.out.println ("Сколько будет 25*5 ?");
int x = 0;
x = myscan.nextInt (); //считать int с клавиатуры и записать в x
if (x == 125){
System.out.println ("Да, это круто!");
} else {
System.out.println ("Абсолютная ложь!");
}
}
}
Привет! Пора решить задачу)
Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
Решение:
var arr = ['10', '20', '30', '50', '235', '3000'];
for (var i = 0; i < arr.length; i++) {
if (arr[i][0] == '1' arr[i][0] == '2' arr[i][0] == '5') {alert(arr[i]);}
}
Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
Решение:
for (var i = 0; i < arr.length; i++) {
if (arr[i][0] == '1' arr[i][0] == '2' arr[i][0] == '5') {alert(arr[i]);}
}
Привет! На сегодня твоя задача:
Напишите функцию JavaScript, чтобы проверить, являются ли данные типы значений одинаковыми или нет.
Решение:
function is_sameType(value1, value2) {
if(is_nan(value1) || is_nan(value2)) {
return is_nan(value1) === is_nan(value2);
}
return toString.call (value1) === toString.call (value2);
}
function is_nan(val)
{
return val !== val;
}
console.log(is_sameType('12', 100));
console.log(is_sameType('12', '100'));
console.log(is_sameType(12, 100));
Напишите функцию JavaScript, чтобы проверить, являются ли данные типы значений одинаковыми или нет.
Решение:
if(is_nan(value1) || is_nan(value2)) {
return is_nan(value1) === is_nan(value2);
}
return
}
function is_nan(val)
{
return val !== val;
}
console.log(is_sameType('12', 100));
console.log(is_sameType('12', '100'));
console.log(is_sameType(12, 100));
Хай! Пора решить задачу
Напишите функцию JavaScript, чтобы получить значения имени и фамилии следующей формы.
Пример HTML-файла:
<! DOCTYPE html>
<HTML> <HEAD>
<meta charset = utf-8 />
<title> Вернуть имя и фамилию из формы </ title>
</ HEAD> <тело>
<form id = "form1" onsubmit = "getFormvalue ()">
Имя: <input type = "text" name = "fname" value = "David"> <br>
Фамилия: <input type = "text" name = "lname" value = "Бекхэм"> <br>
<input type = "submit" value = "Submit">
</ Форма>
</ Body>
</ Html>
Решение:
<!DOCTYPE html>
<html><head>
<meta charset=utf-8 />
<title>Return first and last name from a form</title>
<style type="text/css">
body {margin: 30px;}
</style>
</head><body>
<form id="form1" onsubmit="getFormvalue()">
First name: <input type="text" name="fname" value="David"><br>
Last name: <input type="text" name="lname" value="Beckham"><br>
<input type="submit" value="Submit">
</form>
</body></html>
<script>
function getFormvalue()
{
var x=document.getElementById("form1");
for (var i=0;i<x.length;i++)
{
if (x.elements[i].value!='Submit')
{
console.log(x.elements[i].value);
}
}
}
</script>
Напишите функцию JavaScript, чтобы получить значения имени и фамилии следующей формы.
Пример HTML-файла:
<! DOCTYPE html>
<HTML> <HEAD>
<meta charset = utf-8 />
<title> Вернуть имя и фамилию из формы </ title>
</ HEAD> <тело>
<form id = "form1" onsubmit = "getFormvalue ()">
Имя: <input type = "text" name = "fname" value = "David"> <br>
Фамилия: <input type = "text" name = "lname" value = "Бекхэм"> <br>
<input type = "submit" value = "Submit">
</ Форма>
</ Body>
</ Html>
Решение:
<html><head>
<meta charset=utf-8 />
<title>Return first and last name from a form</title>
<style type="text/css">
body {margin: 30px;}
</style>
</head><body>
<form id="form1" onsubmit="getFormvalue()">
First name: <input type="text" name="fname" value="David"><br>
Last name: <input type="text" name="lname" value="Beckham"><br>
<input type="submit" value="Submit">
</form>
</body></html>
<script>
function getFormvalue()
{
var x=document.getElementById("form1");
for (var i=0;i<x.length;i++)
{
if (x.elements[i].value!='Submit')
{
console.log(x.elements[i].value);
}
}
}
</script>
Привет! Задача на сегодня:
Напишите функцию JavaScript, чтобы получить разницу во времени между двумя датами в неделях.
Тестовые данные :
dt1 = новая дата («13 июня 2014 г. 08:11:00»);
dt2 = новая дата («19 октября 2014 г., 11:13:00»);
console.log (diff_weeks (dt1, dt2));
Решение:
function diff_weeks(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60 * 60 * 24 * 7);
return Math.abs(Math.round(diff));
}
dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,11);
console.log(diff_weeks(dt1, dt2));
dt1 = new Date("June 13, 2014 08:11:00");
dt2 = new Date("October 19, 2014 11:13:00");
console.log(diff_weeks(dt1, dt2));
Напишите функцию JavaScript, чтобы получить разницу во времени между двумя датами в неделях.
Тестовые данные :
dt1 = новая дата («13 июня 2014 г. 08:11:00»);
dt2 = новая дата («19 октября 2014 г., 11:13:00»);
console.log (diff_weeks (dt1, dt2));
Решение:
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60 * 60 * 24 * 7);
return Math.abs(Math.round(diff));
}
dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,11);
console.log(diff_weeks(dt1, dt2));
dt1 = new Date("June 13, 2014 08:11:00");
dt2 = new Date("October 19, 2014 11:13:00");
console.log(diff_weeks(dt1, dt2));
Фулстак с нуля за год - посты раз в неделю, рассказываю о том, как учу js+vue.js+react и php+laravel+yii2.
Подписывайся, админ.
https://yangx.top/fullstack_dev0
Подписывайся, админ.
https://yangx.top/fullstack_dev0
Telegram
ЧДУ | Чай дохлебываем и уе*****м
Личный блог
Привет!
Напишите программу на JavaScript, чтобы нарисовать следующую прямоугольную форму.
Решение:
function draw() {
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var context = canvas.getContext('2d');
context.fillRect(20,20,100,100);
context.clearRect(40,40,60,60);
context.strokeRect(45,45,50,50);
}
}
Напишите программу на JavaScript, чтобы нарисовать следующую прямоугольную форму.
Решение:
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var context = canvas.getContext('2d');
context.fillRect(20,20,100,100);
context.clearRect(40,40,60,60);
context.strokeRect(45,45,50,50);
}
}
Всем привет! Сегодня задачка:
Напишите программу на JavaScript, чтобы нарисовать два пересекающихся прямоугольника, один из которых имеет альфа-прозрачность
Решение:
function draw()
{
var canvas = document.getElementById("canvas");
if (canvas.getContext)
{
var context = canvas.getContext("2d");
context.fillStyle ="rgb(256,0,0)";
context.fillRect (15, 10, 55, 50);
context.fillStyle ="rgba(0, 0, 200, 0.6)";
context.fillRect (35, 30, 55, 50);
}
}
Напишите программу на JavaScript, чтобы нарисовать два пересекающихся прямоугольника, один из которых имеет альфа-прозрачность
Решение:
{
var canvas = document.getElementById("canvas");
if (canvas.getContext)
{
var context = canvas.getContext("2d");
context.fillStyle ="rgb(256,0,0)";
context.fillRect (15, 10, 55, 50);
context.fillStyle ="rgba(0, 0, 200, 0.6)";
context.fillRect (35, 30, 55, 50);
}
}
Напишите функцию JavaScript, чтобы показать первые двадцать чисел Хэмминга.
Числа Хэмминга - это числа, единственными простыми множителями которых являются 2, 3 и 5.
Решение:
function Hamming(n) {
var succession = [1];
var length = succession.length;
var candidate = 2;
while (length < n) {
if (isHammingNumber(candidate)) {
succession[length] = candidate;
length++;
}
candidate++;
}
return succession;
}
function isHammingNumber(num) {
while (num % 5 === 0) num /= 5;
while (num % 3 === 0) num /= 3;
while (num % 2 === 0) num /= 2;
return num == 1;
}
console.log(Hamming(20));
Числа Хэмминга - это числа, единственными простыми множителями которых являются 2, 3 и 5.
Решение:
var succession = [1];
var length = succession.length;
var candidate = 2;
while (length < n) {
if (isHammingNumber(candidate)) {
succession[length] = candidate;
length++;
}
candidate++;
}
return succession;
}
function isHammingNumber(num) {
while (num % 5 === 0) num /= 5;
while (num % 3 === 0) num /= 3;
while (num % 2 === 0) num /= 2;
return num == 1;
}
console.log(Hamming(20));
Хай! Твоя задача:
Напишите программу на JavaScript, чтобы найти наибольшее из трех заданных целых чисел
Решение:
function max_of_three(x, y, z)
{
max_val = 0;
if (x > y)
{
max_val = x;
} else
{
max_val = y;
}
if (z > max_val)
{
max_val = z;
}
return max_val;
}
console.log(max_of_three(1,0,1));
console.log(max_of_three(0,-10,-20));
console.log(max_of_three(1000,510,440));
Напишите программу на JavaScript, чтобы найти наибольшее из трех заданных целых чисел
Решение:
{
max_val = 0;
if (x > y)
{
max_val = x;
} else
{
max_val = y;
}
if (z > max_val)
{
max_val = z;
}
return max_val;
}
console.log(max_of_three(1,0,1));
console.log(max_of_three(0,-10,-20));
console.log(max_of_three(1000,510,440));
Дана строка; нужно написать функцию, которая позволяет вернуть значение true, если строка является палиндромом, и false — если нет. При этом нужно учитывать пробелы и знаки препинания.
Решение
const palindrome = str => {
// turn the string to lowercase
str = str.toLowerCase()
// reverse input string and return the result of the
// comparisong
return str === str.split('').reverse().join('')
}
Решение
// turn the string to lowercase
str = str.toLowerCase()
// reverse input string and return the result of the
// comparisong
return str === str.split('').reverse().join('')
}
Привет! Лови задачу)
Нужно написать функцию, принимающую строку в качестве аргумента и возвращающую количество гласных, которые содержатся в строке.
Гласными являются «a», «e», «i», «o», «u».
Решение:
const findVowels = str => {
let count = 0
const vowels = ['a', 'e', 'i', 'o', 'u']
for(let char of str.toLowerCase()) {
if(vowels.includes(char)) {
}
}
return count
}
Нужно написать функцию, принимающую строку в качестве аргумента и возвращающую количество гласных, которые содержатся в строке.
Гласными являются «a», «e», «i», «o», «u».
Решение:
let count = 0
const vowels = ['a', 'e', 'i', 'o', 'u']
for(let char of str.toLowerCase()) {
if(vowels.includes(char)) {
}
}
return count
}
Привет! Напишите программу на JavaScript, чтобы нарисовать следующую диаграмму [используйте функцию moveto ()].
Решение:
function draw()
{
var canvas = document.getElementById('canvas');
if (canvas.getContext)
{
var context = canvas.getContext('2d');
context.beginPath();
// Outer circle
context.arc(75,75,50,0,Math.PI*2,true);
context.moveTo(110,75);
// Mouth
context.arc(75,75,35,0,Math.PI,false);
// Lefy and Right eye
context.moveTo(55,65);
context.arc(60,65,5,0,Math.PI*2,true);
context.arc(90,65,5,0,Math.PI*2,true);
context.stroke();
}
}
Решение:
{
var canvas = document.getElementById('canvas');
if (canvas.getContext)
{
var context = canvas.getContext('2d');
context.beginPath();
// Outer circle
context.arc(75,75,50,0,Math.PI*2,true);
context.moveTo(110,75);
// Mouth
context.arc(75,75,35,0,Math.PI,false);
// Lefy and Right eye
context.moveTo(55,65);
context.arc(60,65,5,0,Math.PI*2,true);
context.arc(90,65,5,0,Math.PI*2,true);
context.stroke();
}
}
Напишите программу на JavaScript для создания часов.
Ожидаемый выход консоли:
"14:37:42"
"14:37:43"
"14:37:44"
"14:37:45"
"14:37:46"
"14:37:47"
Решение
function my_Clock()
{
this.cur_date = new Date();
this.hours = this.cur_date.getHours();
this.minutes = this.cur_date.getMinutes();
this.seconds = this.cur_date.getSeconds();
}
my_Clock.prototype.run = function ()
{
setInterval(this.update.bind(this), 1000);
};
my_Clock.prototype.update = function ()
{
this.updateTime(1);
console.log(this.hours + ":" + this.minutes + ":" + this.seconds);
};
my_Clock.prototype.updateTime = function (secs)
{
this.seconds+= secs;
if (this.seconds >= 60)
{
this.minutes++;
this.seconds= 0;
}
if (this.minutes >= 60)
{
this.hours++;
this.minutes=0;
}
if (this.hours >= 24)
{
this.hours = 0;
}
};
var clock = new my_Clock();
clock.run ();
Ожидаемый выход консоли:
"14:37:42"
"14:37:43"
"14:37:44"
"14:37:45"
"14:37:46"
"14:37:47"
Решение
{
this.cur_date = new Date();
this.hours = this.cur_date.getHours();
this.minutes = this.cur_date.getMinutes();
this.seconds = this.cur_date.getSeconds();
}
{
setInterval(this.update.bind(this), 1000);
};
my_Clock.prototype.update = function ()
{
this.updateTime(1);
console.log(this.hours + ":" + this.minutes + ":" + this.seconds);
};
my_Clock.prototype.updateTime = function (secs)
{
this.seconds+= secs;
if (this.seconds >= 60)
{
this.minutes++;
this.seconds= 0;
}
if (this.minutes >= 60)
{
this.hours++;
this.minutes=0;
}
if (this.hours >= 24)
{
this.hours = 0;
}
};
var clock = new my_Clock();
Хай! Напишите программу сортировки слиянием на JavaScript.
Образец массива : [34,7,23,32,5,62]
Пример вывода : [5, 7, 23, 32, 34, 62]
Решение:
Array.prototype.merge_Sort = function () {
if (this.length <= 1)
{
return this;
}
var half = parseInt(this.length / 2);
var left = this.slice(0, half).merge_Sort();
var right = this.slice(half, this.length).merge_Sort();
var merge = function (left, right)
{
var arry = [];
while (left.length > 0 && right.length > 0)
{
arry.push((left[0] <= right[0]) ? left.shift() : right.shift());
}
return arry.concat(left).concat(right);
};
return merge(left, right);
};
var a = [34,7,23,32,5,62];
console.log(a.merge_Sort());
Образец массива : [34,7,23,32,5,62]
Пример вывода : [5, 7, 23, 32, 34, 62]
Решение:
if (this.length <= 1)
{
return this;
}
var half = parseInt(this.length / 2);
var left = this.slice(0, half).merge_Sort();
var right = this.slice(half, this.length).merge_Sort();
var merge = function (left, right)
{
var arry = [];
while (left.length > 0 && right.length > 0)
{
arry.push((left[0] <= right[0]) ? left.shift() : right.shift());
}
return arry.concat(left).concat(right);
};
return merge(left, right);
};
var a = [34,7,23,32,5,62];
console.log(a.merge_Sort());
Хай! Сегодня задачка по сложнее)
Напишите функцию JavaScript, которая говорит, является ли число идеальным.
Согласно Википедии: в теории чисел совершенное число - это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число - это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число - 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Решение:
function is_perfect(number)
{
let temp = 0;
for(let i=1;i<=number/2;i++)
{
if(number%i === 0)
{
temp += i;
}
}
if(temp === number && temp !== 0)
{
console.log("It is a perfect number.");
}
else
{
console.log("It is not a perfect number.");
}
}
is_perfect(28);
Напишите функцию JavaScript, которая говорит, является ли число идеальным.
Согласно Википедии: в теории чисел совершенное число - это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число - это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число - 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Решение:
{
let temp = 0;
for(let i=1;i<=number/2;i++)
{
if(number%i === 0)
{
temp += i;
}
}
if(temp === number && temp !== 0)
{
console.log("It is a perfect number.");
}
else
{
console.log("It is not a perfect number.");
}
}
is_perfect(28);