forked from urfu-2015/javascript-tasks-3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
50 lines (42 loc) · 1.99 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
'use strict';
// Подключаем нашу телефоную книгу друзей
var phoneBook = require('./phoneBook');
// Подключаем волшебный конструктор запросов
var lego = require('./lego');
// Мы хотим найти подходящих друзей для вечеринки
var result = lego.query(
// Для этого передаём нашу книгу
phoneBook,
// И выбираем только нужные поля
lego.select('name', 'gender', 'age', 'phone', 'favoriteFruit'),
//
// Обязательно выбираем тех, кто любит Яблоки и Картофель (самое важное !!!)
lego.filterIn('favoriteFruit', ['Яблоко', 'Картофель']),
//
// Отсортируем их по возрасту (но зачем?)
lego.sortBy('age', 'asc'), // Бывает только asc (от меньшего к большему) или desc (наоборот)
//
// А пол выведем только первой буквой для удобства
lego.format('gender', function (value) {
return value[0];
}),
//
//На дачу влезет примерно 10 человек
lego.limit(10)
);
// Будет круто организовать две вечеринки сразу: яблочную для девушек и картофельную для парней.
// var result = lego.query(
// phoneBook,
//
// // Выбираем всех парней, которые любят картофель, и всех девушек, которые любят яблоки
// lego.or(
// lego.and(
// lego.filterEqual('gender', 'Мужской'),
// lego.filterIn('favoriteFruit', ['Картофель'])
// ),
// lego.and(
// lego.filterEqual('gender', 'Женский'),
// lego.filterIn('favoriteFruit', ['Яблоко'])
// )
// )
// );