Дисциплины - Проектирование динамических страниц

Решение типовых задач - Преобразование массива

Для вывода всех элементов массива через запятую можно воспользоваться встроенным методом join

const schools = [

  "BSUIR",
  "BNTU",
  "MGCP",
  "BSU"
];

join()

schools.join(', ');

Для обсуждения возможностей reduce(), создадим массив ages.

const ages = [21,24,39,50,41,64,39,21];

reduce()

const maxAge = ages.reduce((max, age) => {
 if(age > max){
  return age;
 }else{
  return max;
 }
}, 0)

То же, но с помощью тернарного оператора

const max = ages.reduce(
 (max, value) => (value > max) ? value : max, 0
)

reduceRight()

array.reduceRight()
const newarr = ages.reduceRight(
 (dist, value) =>
  (dist.indexOf(value) !== -1) ? dist : [...dist, value], []
)

 

new Set

Убрать повторяющиеся элементы массива можно с помощью класса Set.

console.log([...new Set(ages)]);

new Map

Объект Map содержит пары ключ-значение и сохраняет порядок вставки. Любое значение (как объекты, так и примитивы) могут быть использованы в качестве ключей.

let map = new Map();

map.set("1", "str1");    // строка в качестве ключа
map.set(1, "num1");      // цифра как ключ
map.set(true, "bool1");  // булево значение как ключ

// помните, обычный объект Object приводит ключи к строкам?
// Map сохраняет тип ключей, так что в этом случае сохранится 2 разных значения:
alert(map.get(1)); // "num1"
alert(map.get("1")); // "str1"

alert(map.size); // 3

Map может быть итерирован с помощью метода forEach():

myMap.forEach(function(value, key) {
  console.log(`${key} => ${value}`);
});

Взаимоотношения с объектом Array

const kvArray = [['key1', 'value1'], ['key2', 'value2']];
// Используйте конструктор Map для преобразования двумерных массивов в Map
const myMap = new Map(kvArray);

Использование объекта в качестве ключа

let john = { name: "John" };

// давайте сохраним количество посещений для каждого пользователя
let visitsCountMap = new Map();

// объект john - это ключ для значения в объекте Map
visitsCountMap.set(john, 123);

alert(visitsCountMap.get(john)); // 123

Методы и свойства Map:

  • new Map() – создаёт коллекцию.
  • map.set(key, value) – записывает по ключу key значение value.
  • map.get(key) – возвращает значение по ключу или undefined, если ключ key отсутствует.
  • map.has(key) – возвращает true, если ключ key присутствует в коллекции, иначе false.
  • map.delete(key) – удаляет элемент по ключу key.
  • map.clear() – очищает коллекцию от всех элементов.
  • map.size – возвращает текущее количество элементов.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
00421-00422 ИИТ БГУИР
00423 ИИТ БГУИР
10421-10422 ИИТ БГУИР
10423 БГУИР
20421 БГУИР
30421 БГУИР
30423 БГУИР


Изображения Видео

1. JavaScript. Функциональное программирование. Лекция 2. Преобразование данных <iframe width="560" height="315" src="https://www.youtube.com/embed/EBKzRg4aTro" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
2. JavaScript. Функциональное программирование. Лекция 2 (продолжение) <iframe width="560" height="315" src="https://www.youtube.com/embed/phyt4PFk6Pc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
3. HTML5 http://erud.by/files/books/HTML5.docx
4. ООП в JavaScript http://erud.by/object_orient_program/586
5. Фоновое видео jQuery http://johnpolacek.github.io/BigVideo.js
Учебная программа