Готовый Код | Frontend
883 subscribers
470 photos
7 videos
240 links
Здесь ты найдешь готовый код для фронтенд разработки

По вопросам : @sul_furas
加入频道
Привет!
Напиши функцию map(fn, array), которая принимает на вход функцию и массив, и обрабатывает каждый элемент массива этой функцией, возвращая новый массив.
Пример:
function square(x) { return x * x; } // возведение в квадрат
console.log(map(square, [1, 2, 3, 4])); // [1, 4, 9, 16]
console.log(map(square, [ ])); // [ ]
Привет!
Напиши функцию bind, которая позволяет привязать контекст (значение this) к функции:

Ответ:
window.x = 1;
var ctx = { x: 2 };

function testThis(a) { console.log("x=" + this.x + ", a=" + a); }
console.log(testThis(100)); // x=1, a=100
var boundFunction = bind(testThis, ctx);
console.log(boundFunction(100)); // x=2, a= 100
Привет! Примерно через две недели планируем провести прямой эфир с ребятами из CodeRewiev. От вас зависит, какую тему мы выберем.

Темы:

Что нужно знать, что бы пройти на джуна? - 34
👍👍👍👍👍👍👍👍 71%
Что влияет на твою зарплату? - 3
👍👍 6%
Hard или soft? Какие скилы важнее - 4
👍👍 8%
Карьера за 3-5 лет - возможно ли? - 4
👍👍 8%
Горизонтальная миграция - есть ли смысл менять направление разработки? - 3
👍👍 6%
👥 48 человек уже проголосовало.
АААААААААлоха! 28 июня мы с ребятами из CodeReview проведем прямой эфир на одну из тем, которую вы выберете на опросе в посте - https://yangx.top/dh_jun/451

Сможете задать свои вопросы.)
Напиши функцию partial(fn, a1, a2, ....), которая позволяет зафиксировать один или несколько аргументов функции. Пример:

function add(a, b) { return a + b; }
function mult(a, b, c, d) { return a * b * c * d; }

var add5 = partial(add, 5); // Мы получили функцию с 1 аргументом, которая прибавляет к любому числу 5

console.log(add5(2)); // 7
console.log(add5(10)); // 15
console.log(add5(8)); // 13

var mult23 = partial(mult, 2, 3); // мы зафиксировали первые 2 аргумента mult() как 2 и 3

console.log(mult23(4, 5)); // 2*3*4*5 = 120
console.log(mult23(1, 1)); // 2*3*1*1 = 6
Напишите программу, которая будет задавать вопросы пользователю и затем выведет ответы на странице. Для решения используйте функцию prompt и цикл for.
Решение
let answers = [];
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];

for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}

document.write(answers);
Напишите функцию JavaScript для преобразования суммы в монеты. Перейти к редактору
Пример функции : количество токоинов (46, [25, 10, 5, 2, 1])
Здесь 46 сумма. и 25, 10, 5, 2, 1 - монеты.
Выход : 25, 10, 10, 1
Решение:
function amountTocoins(amount, coins)
{
if (amount === 0)
{
return [];
}
else
{
if (amount >= coins[0])
{
left = (amount - coins[0]);
return [coins[0]].concat( amountTocoins(left, coins) );
}
else
{
coins.shift();
return amountTocoins(amount, coins);
}
}
}
console.log(amountTocoins(46, [25, 10, 5, 2,1]));
Хай! Твоя задача на сегодня:
Написать скрипт, который считает количество дней жизни сайта

Решение

<script type="text/javascript">

function lifeSite() {

var start = new Date('March 27, 2010'); // Дата создания сайта

var end = new Date();

var life = Math.round((end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24));

var suffix = new Array("день", "дня", "дней");

var keys = [2, 0, 1, 1, 1, 2];

var mod = life % 100;

var suffix_key = mod > 4 && mod < 20 ? 2 : keys[Math.min(mod%10, 5)];

document.getElementById("life_site").innerHTML = life + " " + suffix[suffix_key];

}

</script>
Хай! Напишите программу на JavaScript для создания новой строки из заданной строки, удалив первый и последний символы строки, если первый или последний символ - «P». Вернуть исходную строку, если условие не выполняется.

Решение:
function nop(str) {
let start_pos = 0;
let end_pos = str.length;
if (str.length > 0 && str.charAt(0) =='P')
{
start_pos = 1;
}
if (str.length > 1 && str.charAt(str.length - 1) =='P')
{
end_pos--;
}
return str.substring(start_pos, end_pos);
}
console.log(nop("PythonP"));
console.log(nop("Python"));
console.log(nop("JavaScript"));
Напишите программу на JavaScript, чтобы вычислить сумму массива целых чисел.
Пример: var array = [1, 2, 3, 4, 5, 6]
Ожидаемый результат: 21

Решение:
var array_sum = function(my_array) {
if (my_array.length === 1) {
return my_array[0];
}
else {
return my_array.pop() + array_sum(my_array);
}
};
console.log(array_sum([1,2,3,4,5,6]));
Хай! Напишите программу, которая будет задавать вопросы пользователю и затем выведет ответы на странице. Для решения используйте функцию prompt и цикл for.
Решение:
let answers = [];
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];

for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}

document.write(answers);
Привет! Сегодня решим задачу: Известен рост трёх человек. Определить, одинаков ли их рост.
Решение:
<html>

<head>

<script language="Javascript">

var a=parseInt(prompt("Введите рост первого человека",""))

var b=parseInt(prompt("Введите рост второго человека",""))

var c=parseInt(prompt("Введите рост третьего человека",""))

if ((a=b) && (b==c) && (a==c))

alert("Рост этих людей одинаков")

else {alert("Рост этих людей различен")}

</script>

</head>

</html>
Хай! Напишите функцию 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>
Привет! Сегодня твоя задача - ответить на вопросы:

1. Что такое каррирование (currying)?
2. Что такое чистая функция?
3. В чем разница между let и var?


Ответы на вопросы:
1. Каррирование — это процесс преобразования функции с несколькими параметрами в несколько функций с одним параметром. Данный процесс назван в четь математика Хаскелла Карри. Каррирование превращает одну n-арную функцию в несколько унарных функций (уменьшает арность функции)

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));
}
Привет. Твоя задача на сегодня:
Напишите тестировщик на основе данного кода. Пусть он спрашивает не один вопрос как сейчас, а 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]);}
}
Привет! На сегодня твоя задача:
Напишите функцию 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, чтобы получить значения имени и фамилии следующей формы.
Пример 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>