Сегодня задачка у нас: Палиндром
Палиндром — слово, предложение или последовательность символов, которая абсолютно одинаково читается как в привычном направлении, так и в обратном. К примеру, “Anna” — это палиндром, а “table” и “John” — нет.
Постановка
Дана строка; нужно написать функцию, которая позволяет вернуть значение true, если строка является палиндромом, и false — если нет. При этом нужно учитывать пробелы и знаки препинания.
palindrome('racecar') === true
palindrome('table') === false
P.s Решение будет позже)
Палиндром — слово, предложение или последовательность символов, которая абсолютно одинаково читается как в привычном направлении, так и в обратном. К примеру, “Anna” — это палиндром, а “table” и “John” — нет.
Постановка
Дана строка; нужно написать функцию, которая позволяет вернуть значение true, если строка является палиндромом, и false — если нет. При этом нужно учитывать пробелы и знаки препинания.
palindrome('racecar') === true
palindrome('table') === false
P.s Решение будет позже)
Наша функция partial позволяет фиксировать только первые аргументы. Усовершенствуй ее, чтобы зафиксировать можно было любые аргументы, пропущенные аргументы обозначаются с помощью undefined:
function test(a, b, c) { return 'a=' + a + ',b=' + b + ',c=' + c; }
var test1_3 = partialAny(test, 1, undefined, 3);
console.log(test1_3(5)); // a=1,b=5,c=3
Чтобы избежать путаницы, пусть новая функция называется partialAny
function test(a, b, c) { return 'a=' + a + ',b=' + b + ',c=' + c; }
var test1_3 = partialAny(test, 1, undefined, 3);
console.log(test1_3(5)); // a=1,b=5,c=3
Чтобы избежать путаницы, пусть новая функция называется partialAny
Promise API
Метод Promise.all принимает массив промисов (может принимать любой перебираемый объект, но обычно используется массив) и возвращает новый промис.
Каким будет вывод этого фрагмента кода?
console.log('start');
const promise1 = new Promise((resolve, reject) => {
console.log(1)
})
console.log('end');
Метод Promise.all принимает массив промисов (может принимать любой перебираемый объект, но обычно используется массив) и возвращает новый промис.
Каким будет вывод этого фрагмента кода?
console.log('start');
const promise1 = new Promise((resolve, reject) => {
console.log(1)
})
console.log('end');
Создайте функцию-конструктор
```javascript
function Book(title, author) {
this.title = title;
this.author = author;
this.toString = function() {
return
};
this.isWrittenBy = function(name) {
return this.author === name;
};
}
const book1 = new Book('Война и мир', 'Лев Толстой');
console.log(book1.toString()); // Название: Война и мир, автор: Лев Толстой
console.log(book1.isWrittenBy('Лев Толстой')); // true
console.log(book1.isWrittenBy('Федор Достоевский')); // false
Book
, у которой есть свойства title
и author
, и методы toString
(возвращает строку вида "Название: {title}, автор: {author}"
) и isWrittenBy
(принимает имя автора и возвращает true
, если автор совпадает с переданным именем).```javascript
function Book(title, author) {
this.title = title;
this.author = author;
this.toString = function() {
return
Название: ${this.title}, автор: ${this.author}
;};
this.isWrittenBy = function(name) {
return this.author === name;
};
}
const book1 = new Book('Война и мир', 'Лев Толстой');
console.log(book1.toString()); // Название: Война и мир, автор: Лев Толстой
console.log(book1.isWrittenBy('Лев Толстой')); // true
console.log(book1.isWrittenBy('Федор Достоевский')); // false
Привет! Как отдохнули? Готовы решать задачки?
Найдите ошибки в коде:
1. Код должен вывести элемент объекта:
let obj = {x: 1, y: 2, z: 3};
console.log(obj[x]);
2. Код должен вывести элемент объекта по ключу из переменной:
let obj = {x: 1, y: 2, z: 3};
let key = 'x';
console.log(obj.key);
3. Код должен вывести сумму элементов объекта:
let obj = {x: 1, y: 2, z: 3};
let sum = obj[x] + obj[y] + obj[x];
console.log(obj);
4. Код должен вывести количество элементов объекта:
let obj = {x: 1, y: 2, z: 3};
console.log(obj.length);
P.s Возможно задачка имеет правильное решение)
Найдите ошибки в коде:
1. Код должен вывести элемент объекта:
let obj = {x: 1, y: 2, z: 3};
console.log(obj[x]);
2. Код должен вывести элемент объекта по ключу из переменной:
let obj = {x: 1, y: 2, z: 3};
let key = 'x';
console.log(obj.key);
3. Код должен вывести сумму элементов объекта:
let obj = {x: 1, y: 2, z: 3};
let sum = obj[x] + obj[y] + obj[x];
console.log(obj);
4. Код должен вывести количество элементов объекта:
let obj = {x: 1, y: 2, z: 3};
console.log(obj.length);
P.s Возможно задачка имеет правильное решение)
Преимущества JavaScript :
- Незаменимость в веб-разработке. JS – это основная «технология» для клиент-серверных моделей и программирования «для интернета».
- Наличие полной интеграции с версткой страниц и серверной частью.
- Рациональность применения и простоту. Решить элементарную задачу при помощи JS удается за несколько минут. Сам - ЯП обладает понятным синтаксисом, который не требует углубленного изучения.
- Скорость работы. JS может сделать итоговое приложение более быстрым и удобным.
- Производительность.
- Комфортность использования пользовательских интерфейсов.
- Наличие собственной мощной экосистемы (инфраструктуры). Особо заметно в последние годы. Пример – появление огромного количества полезных фреймворков, которые подойдут для любого случая.
- Незаменимость в веб-разработке. JS – это основная «технология» для клиент-серверных моделей и программирования «для интернета».
- Наличие полной интеграции с версткой страниц и серверной частью.
- Рациональность применения и простоту. Решить элементарную задачу при помощи JS удается за несколько минут. Сам - ЯП обладает понятным синтаксисом, который не требует углубленного изучения.
- Скорость работы. JS может сделать итоговое приложение более быстрым и удобным.
- Производительность.
- Комфортность использования пользовательских интерфейсов.
- Наличие собственной мощной экосистемы (инфраструктуры). Особо заметно в последние годы. Пример – появление огромного количества полезных фреймворков, которые подойдут для любого случая.
Хай! Давайте сделаем "Поиск исторических событий "
Этот поиск должен выводить все события за определённый год.
Вёрстка:
<div id="parent">
<input id="input" placeholder="введите год и нажмите Enter">
<table id="table"></table>
</div>
* {
box-sizing: border-box;
}
#parent {
margin: 0 auto;
width: 600px;
}
#input {
width: 100%;
margin-bottom: 10px;
padding: 10px;
}
#table {
width: 100%;
}
#table td {
padding: 10px;
text-align: center;
border: 1px solid black;
}
Этот поиск должен выводить все события за определённый год.
Вёрстка:
<div id="parent">
<input id="input" placeholder="введите год и нажмите Enter">
<table id="table"></table>
</div>
* {
box-sizing: border-box;
}
#parent {
margin: 0 auto;
width: 600px;
}
#input {
width: 100%;
margin-bottom: 10px;
padding: 10px;
}
#table {
width: 100%;
}
#table td {
padding: 10px;
text-align: center;
border: 1px solid black;
}
Привет! Напишите функцию, которая заполняет новый массив предоставленным значением.
/**
* Описание задачи: Напишите функцию, которая заполняет новый массив предоставленным значением.
* Ожидаемый результат: (3, 'a') => ['a', 'a', 'a']
* Сложность задачи: 1 of 5
* @param {number} arraySize - размер массива
* @param {?} value - значение для массива
* @returns {Array}
*/
const fill = (arraySize, value) => {
throw new Error('Напишите здесь свое решение');
}
const data = 3;
const valueToFill = 'a';
console.log(fill(data, valueToFill)) // ['a', 'a', 'a']
/**
* Описание задачи: Напишите функцию, которая заполняет новый массив предоставленным значением.
* Ожидаемый результат: (3, 'a') => ['a', 'a', 'a']
* Сложность задачи: 1 of 5
* @param {number} arraySize - размер массива
* @param {?} value - значение для массива
* @returns {Array}
*/
const fill = (arraySize, value) => {
throw new Error('Напишите здесь свое решение');
}
const data = 3;
const valueToFill = 'a';
console.log(fill(data, valueToFill)) // ['a', 'a', 'a']
Для вас задача:
Напишите код, который создает переменную company, в переменную вставьте два объекта post и name, со значениями developer и Ivan, после выведите значение объекта post в alert. Какой будет результат?
А вот и её решение:
let company = {
post: 'developer',
name: 'Ivan'
}
alert( company.post );
Напишите код, который создает переменную company, в переменную вставьте два объекта post и name, со значениями developer и Ivan, после выведите значение объекта post в alert. Какой будет результат?
А вот и её решение:
post: 'developer',
name: 'Ivan'
}
alert(
Простенькое задание)
Какое значение будет выведено в консоль?
console.log([ ] + 1 + 2);
Результат 12
Какое значение будет выведено в консоль?
console.log([ ] + 1 + 2);
Какое значение будет на выходе?
const client = {
name: "Mr. Smith",
age: 21
}
const increaseAge = (x = { ...client }) => x.age += 1
const changeAgeAndName = (x = { ...client }) => {
x.age += 1
x.name = "Ivan"
}
increaseAge(client)
changeAgeAndName()
console.log(client)
A: {name: "Ivan", age: 22}
B: {name: "Ivan", age: 23}
C: {name: "Mr. Smith", age: 22}
D: {name: "Mr. Smith", age: 23}
const client = {
name: "Mr. Smith",
age: 21
}
const increaseAge = (x = { ...client }) => x.age += 1
const changeAgeAndName = (x = { ...client }) => {
x.age += 1
x.name = "Ivan"
}
increaseAge(client)
changeAgeAndName()
console.log(client)
A: {name: "Ivan", age: 22}
B: {name: "Ivan", age: 23}
C: {name: "Mr. Smith", age: 22}
D: {name: "Mr. Smith", age: 23}