Underscore.JS - Краткое руководство
Underscore.JS - популярная библиотека на основе javascript, которая предоставляет более 100 функций для облегчения веб-разработки. Он предоставляет вспомогательные функции, такие как карта, фильтр, вызов, а также привязка функций, создание шаблонов javascript, глубокая проверка равенства, создание индексов и т. Д. Underscore.JS можно использовать непосредственно в браузере, а также с Node.js.
Работа с объектами с использованием JavaScript может быть довольно сложной задачей, особенно если с ними нужно проделать много манипуляций. Underscore имеет множество функций, которые упрощают работу с объектами.
Underscore.JS - это проект с открытым исходным кодом, и вы можете легко внести свой вклад в библиотеку и добавить функции в виде плагинов и сделать его доступным на GitHub и в Node.js.
Особенности
Давайте подробно разберемся со всеми важными функциями, доступными с Underscore -
Коллекции
Underscore.JS предоставляет различные функции для коллекций, такие как each, map, reduce, которые используются для применения операции к каждому элементу коллекции. Он предоставляет такие методы, как groupBy, countBy, max, min, который обрабатывает коллекции и упрощает множество задач.
Массивы
Underscore.JS предоставляет различные функции для массивов, такие как итерация и обработка массивов, таких как first, initial, lastIndexOf, пересечение, разность и т. Д.
Функции
Underscore.JS предоставляет такие функции, как привязка, задержка, до, после и т. Д.
Объекты
Underscore.JS предоставляет функции для управления объектами, сопоставления объектов и сравнения объектов. Например, ключи, значения, extends, extendsOwn, isEqual, isEmpty и т. Д.
Утилиты
Underscore.JS предоставляет различные служебные методы, такие как noConflict, random, iteratee, escape и т. Д.
Цепочка
Underscore.JS предоставляет методы цепочки, а также цепочки значений.
В следующих главах мы рассмотрим важные функции Underscore.JS.
В этой главе вы подробно узнаете о настройке рабочей среды Underscore.JS на вашем локальном компьютере. Прежде чем вы начнете работать над Underscore.JS, вам необходимо получить доступ к библиотеке. Вы можете получить доступ к его файлам любым из следующих методов -
Метод 1: использование файла Underscore.JS в браузере
В этом методе нам понадобится файл Underscore.JS с официального сайта, и мы будем использовать его непосредственно в браузере.
Шаг 1
В качестве первого шага перейдите на официальный сайт Underscore.JS. https://underscorejs.org/.
Обратите внимание, что есть вариант загрузки, который дает вам последний доступный файл underscore-min.js UMD (Production) . Щелкните правой кнопкой мыши ссылку и выберите «Сохранить как». Обратите внимание, что файл доступен с минимизацией и без нее.
Шаг 2
Теперь включите underscore-min.js внутри scriptтег и начните работать с Underscore.JS. Для этого вы можете использовать приведенный ниже код -
<script type = "text/JavaScript" src = "https://underscorejs.org/underscore-min.js"></script>
Ниже приводится рабочий пример и его результат для лучшего понимания -
пример
<html>
<head>
<title>Underscore.JS - Working Example</title>
<script type = "text/JavaScript" src = "https://underscorejs.org/underscore-min.js"></script>
<style>
div {
border: solid 1px #ccc;
padding:10px;
font-family: "Segoe UI",Arial,sans-serif;
width: 50%;
}
</style>
</head>
<body>
<div style = "font-size:25px" id = "list">
</div>
<script type = "text/JavaScript">
var numbers = [1, 2, 3, 4];
var listOfNumbers = '';
_.each(numbers, function(x) { listOfNumbers += x + ' ' });
document.getElementById("list").innerHTML = listOfNumbers;
</script>
</body>
</html>
Вывод
Метод 2: Использование Node.js
Если вы выбираете этот метод, убедитесь, что у вас есть Node.js и npmустановлен в вашей системе. Вы можете использовать следующую команду для установки Underscore.JS -
npm install underscore
После успешной установки Underscore.JS вы можете увидеть следующий результат:
+ [email protected]
added 1 package from 1 contributor and audited 1 package in 6.331s
found 0 vulnerabilities
Теперь, чтобы проверить, нормально ли Underscore.JS работает с Node.js, создайте файл tester.js и добавьте в него следующий код:
var _ = require('underscore');
var numbers = [1, 2, 3, 4];
var listOfNumbers = '';
_.each(numbers, function(x) { listOfNumbers += x + ' ' });
console.log(listOfNumbers);
Сохраните указанную выше программу в tester.js. Следующие команды используются для компиляции и выполнения этой программы.
Команда
\>node tester.js
Вывод
1 2 3 4
Underscore.JS имеет множество простых в использовании методов, которые помогают в итерации коллекций. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для итерации коллекций, как указано ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | каждый _.each (список, итерация, [контекст]) |
2 | карта _.map (список, итерация, [контекст]) |
3 | уменьшить _.reduce (список, итерация, [памятка], [контекст]) |
4 | reduceRight _.reduceRight (список, итерация, [памятка], [контекст]) |
5 | находить _.find (список, предикат, [контекст]) |
6 | фильтр _.filter (список, предикат, [контекст]) |
7 | где _.where (список, свойства) |
8 | findWhere _.findWhere (список, свойства) |
9 | отвергать _.reject (список, предикат, [контекст]) |
10 | каждый _.every (список, [предикат], [контекст]) |
11 | несколько _.some (список, [предикат], [контекст]) |
Underscore.JS имеет множество простых в использовании методов, которые помогают в обработке коллекций. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для обработки коллекций, как указано ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | содержит _.contains (список, значение, [fromIndex]) |
2 | вызывать _.invoke (список, имя метода, * аргументы) |
3 | щипать _.pluck (список, имя свойства) |
4 | Максимум _.max (список, [итерация], [контекст]) |
5 | мин _.min (список, [итерация], [контекст]) |
6 | Сортировать по _.sortBy (список, итерация, [контекст]) |
7 | группа по _.groupBy (список, итерация, [контекст]) |
8 | indexBy _.indexBy (список, итерация, [контекст]) |
9 | countBy _.countBy (список, итерация, [контекст]) |
10 | тасовать _.shuffle (список) |
11 | образец _.sample (список; [n]) |
12 | toArray _.toArray (список) |
13 | размер _.size (список) |
14 | раздел _.partition (список, предикат) |
15 | компактный _.compact (список) |
Underscore.JS имеет множество простых в использовании методов, которые помогают в итерации массивов. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для итерации массивов, как указано ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | первый _.first (массив, [n]) |
2 | начальный _.initial (массив, [n]) |
3 | последний _.last (массив, [n]) |
4 | остаток _.rest (массив, [индекс]) |
5 | индекс чего-либо _.indexOf (массив, значение, [isSorted]) |
6 | lastIndexOf _.lastIndexOf (массив, значение, [fromIndex]) |
7 | sortedIndex _.sortedIndex (массив, значение, [итерация], [контекст]) |
8 | findIndex _.findIndex (массив, предикат, [контекст]) |
9 | findLastIndex _.findLastIndex (массив, предикат, [контекст]) |
Underscore.JS имеет множество простых в использовании методов, которые помогают в обработке массивов. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для обработки массивов, как указано ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | сплющивать _.flatten (массив, [мелкий]) |
2 | без _.without (массив, * значения) |
3 | союз _.union (* массивы) |
4 | пересечение _.intersection (* массивы) |
5 | разница _.difference (массив, * другие) |
6 | уникальный _.uniq (массив, [isSorted], [iteratee]) |
7 | застегивать _.zip (* массивы) |
8 | распаковать _.unzip (массив) |
9 | объект _.object (список, [значения]) |
10 | кусок _.chunk (массив, длина) |
11 | спектр _.range ([начало], стоп, [шаг]) |
Underscore.JS имеет множество простых в использовании методов, которые помогают в работе с функциями. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для обработки функций, перечисленных ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | связывать _.bind (функция, объект, * аргументы) |
2 | частичный _.partial (функция, * аргументы) |
3 | запоминать _.memoize (функция, [hashFunction]) |
4 | задержка _.delay (функция, ожидание, * аргументы) |
5 | один раз _.once (функция) |
6 | до _.before (количество, функция) |
7 | заворачивать _.wrap (функция, оболочка) |
8 | отрицать _.negate (предикат) |
9 | сочинять _.compose (* функции) |
Underscore.JS имеет множество простых в использовании методов, которые помогают отображать объекты. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для обработки сопоставления объектов, как указано ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | ключи _.keys (объект) |
2 | allKeys _.allKeys (объект) |
3 | значения _.values (объект) |
4 | mapObject _.mapObject (объект, итерация, [контекст]) |
5 | пары _.pairs (объект) |
6 | инвертировать _.invert (объект) |
7 | Создайте _.create (прототип, реквизиты) |
8 | функции _.functions (объект) |
9 | findKey _.findKey (объект, предикат, [контекст]) |
Underscore.JS имеет множество простых в использовании методов, которые помогают обновлять объекты. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для обработки обновлений объектов, как указано ниже:
Sr.No. | Метод и синтаксис |
---|---|
1 | расширять _.extend (назначение, * источники) |
2 | выбирать _.pick (объект, * ключи) |
3 | опускать _.omit (объект, * ключи) |
4 | значения по умолчанию _.defaults (объект, * по умолчанию) |
5 | клон _.clone (объект) |
6 | нажмите _.tap (объект, перехватчик) |
7 | имеет _.has (объект, ключ) |
8 | свойство _.property (путь) |
9 | собственностью _.propertyOf (объект) |
Underscore.JS имеет множество простых в использовании методов, которые помогают сравнивать объекты. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные методы для обработки сравнения объектов, как указано ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | сопоставитель _.matcher (attrs) |
2 | равно _.isEqual (объект, другое) |
3 | isMatch _.isMatch (объект, свойства) |
4 | пусто _.isEmpty (объект) |
5 | isArray _.isArray (объект) |
6 | isObject _.isObject (значение) |
7 | isArguments _.isArguments (объект) |
8 | isFunction _.isFunction (объект) |
9 | isString _.isString (объект) |
10 | isNumber _.isNumber (объект) |
11 | isFinite _.isFinite (объект) |
12 | isBoolean _.isBoolean (объект) |
13 | isDate _.isDate (объект) |
14 | isRegExp _.isRegExp (объект) |
15 | isError _.isError (объект) |
16 | isSymbol _.isSymbol (объект) |
17 | isMap _.isMap (объект) |
18 | isWeakMap _.isWeakMap (объект) |
19 | isSet _.isSet (объект) |
20 | isWeakSet _.isWeakSet (объект) |
21 год | isNaN _.isNaN (объект) |
22 | нулевой _.isNull (объект) |
23 | isUndefined _.isUndefined (значение) |
Underscore.JS имеет множество простых в использовании служебных методов. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные служебные методы, перечисленные ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | идентичность _.identity (значение) |
2 | постоянный _.constant (значение) |
3 | нет _.noop () |
4 | раз _.times (n, итерация, [контекст]) |
5 | случайный _.random (мин., макс.) |
6 | миксин _.mixin (объект) |
7 | итератор _.iteratee (значение; [контекст]) |
8 | уникальный идентификатор _.uniqueId ([префикс]) |
9 | побег _.escape (строка) |
10 | unescape _.unescape (строка) |
11 | результат _.result (объект, свойство, [значение по умолчанию]) |
12 | в настоящее время _.в настоящее время() |
13 | шаблон _.template (templateString, [настройки]) |
Underscore.JS имеет методы для создания цепочки методов, а затем получения их эффективного результата. В этой главе они рассматриваются подробно.
Underscore.JS предоставляет различные служебные методы, перечисленные ниже -
Sr.No. | Метод и синтаксис |
---|---|
1 | цепь _.chain (объект) |
2 | значение _.chain (объект) .value () |