Press "Enter" to skip to content

Reduce Advanced — Part 4 of Functional Programming in JavaScript


привет, квартира мне нужна для жизни
пакет хорошо, это снова понедельник для вас, ребята
или меня в субботу вечером, и есть
много походов здесь позади меня это
эпизод будет выпущен автоматически
вам, ребята, в понедельник, пока я нахожусь в
каноэ пересекает шведскую пустыню
в последний раз я показал вам базовый пример
сокращения, где мы использовали его для обобщения
свойство любой серии объектов
Однако снизить не ограничивается
сокращение списка до числа, которое оно может
сводить его к чему угодно, например, к другому
массив или объект, и это то, что
мы собираемся сделать сегодня, я тоже собираюсь
бросить пару других высших порядков
функции в верхней части вверх
о том, как функции более высокого порядка могут
очень хорошо вместе, и я собираюсь
дайте вам еще несколько примеров этого дня
мы собираемся прыгнуть прямо в него на
в левой части экрана мы видим, что точка данных
txt это файл с разделяемой вкладкой, поэтому
есть ABS здесь это ABS OH
меры
здесь и здесь, и это всего лишь некоторый файл
что мы вышли из какой-то старой системы, мы
назначив задачу, мы собираемся
превратите его во что-то, что выглядит
немного , как это так , мы будем
превратить его в объектный литерал и каждый
и этот объект будет называться
поэтому Марк Джонсон Марк Джонсон здесь
тот же парень и его слова или или порядок
предметы или что-то еще
массив
так что эти заказы будут превращены в
так что первая первая строка имеет
довольно строку после названия элемента
это цена предмета, а вторая
целое число после имени элемента, это
будет количество того, что это
Наша миссия
мы собираемся превратить это время в это
потому что мы имеем дело с файлом здесь
нам нужно импортировать пространство имен FS из
нет Я собираюсь использовать новый синтаксис запроса
обычно вы делаете что-то вроде
это, но мы будем использовать современные
JavaScript, что означает, что
да, это то же самое, но
мы собираемся использовать это сейчас, чтобы читать
из файла мы просто ходим без FS
файл сэр
бета XT, и он не хочет высоко поднимать
позвольте мне показать вам , как это выглядит
Рассел также ударил поп полной трубкой и
позволяет вам
как вы можете видеть здесь, где мы получаем
буфер байтов, и это не совсем
то , что мы хотим , мы ожидаем , что это будет
содержимое данных txt-файла и
это да, потому что в программировании
и в компьютерных строках используются
длинный набор линий он не знает , как
интерпретировать это в тексте, если оно не имеет
некоторая привязка к кодированию
таблица кодирует символ
кодировка общего символа — utf-8 let’s
снова запустите, да, давайте начнем
по я не знаю , это расщепление в
массив, так что это просто метод на
строковый объект, который разбивает строку
в массив, разделив его, используя это
характер здесь, и это разрыв строки
поэтому, если мы запустим это, мы увидим
массив прямых
это лишняя строка, здесь я , потому что
файлы всегда имеют одну конечную строку
так что мы избавимся от этого, просто
вызывая обрезку на веревке перед тем, как мы
передать его в раскол, а какая
что он просто удаляет любые разрывы строк или
пробел в конце и звезду на струне
если вы запустите эту маленькую строку в
конец уже закончился, прежде чем мы начнем
используя сокращение по этим линиям
Я хотел бы преобразовать их в более
управляемый объект сначала с использованием карты I’m
переход на карту
каждая строка, и я собираюсь разбить ее на вкладке
персонажи видят, что это выглядит хорошо
cool теперь у нас есть массив массивов
где каждый массив является в основном
эквивалент этого, давайте уменьшим его помню
это сокращение сначала принимает два аргумента
принимает функцию, и она также принимает
стартовый объект и в последнем эпизоде
мы использовали число как начальный объект, например
это , но в этом случае мы будем
создать клип объект таким образом мы собираемся
передать ему объект, который мы передаем
уменьшить раз два аргумента первый
один из них является объектом, которым мы являемся
конструируя конечную цель, чтобы мы
об этом говорили в начале этого
эпизод, и это все , и это
будет передан здесь на первом
цикл, а второй аргумент —
что мы итерируем в этом случае
это будет линия и мой, что я
означает, что это так, что сокращение идет
для получения этого элемента на пути
массив на первой итерации он будет
получить этот массив на втором
итерации и так далее, давайте убедимся, что так
далеко
возгласы объявления возвращения неопределенными и что
потому что вывод будет любым
уменьшите возврат на своей последней итерации, чтобы
вернем объект клиента и
это пустой объект, который
потому что мы возвращаем его здесь, и это
пусто, потому что мы ничего не делаем
с ним еще только для ударов позвольте мне
console.log строка на нем BAM
поэтому вы увидите здесь, что уменьшает итерации
над массивом массивов, что эта карта
Функция торгует так для каждой итерации
получает массив массивов массива, который
эквивалент строк в данных dot txt
давайте избавимся от этого console.log i
хотите переименовать этих клиентов, поскольку мы
создание объекта клиента и для каждого
клиент, мы собираемся сделать недвижимость
с их именем
помните, что первый элемент строки
первая часть — это имя, которое мы собираемся сделать
что пустые массивы дадут ему все в порядке
cool у нас есть пустой массив для Mark
Джонсон, и у нас есть пустой готовый для
Никита Смит, и это потому, что даже
хотя он получит эту строку, чем это
линии, то эта строка будет просто
перезаписать Mark Jones и собственность
каждый раз и Никитский слипк каждый
времени, и теперь мы собираемся передать
заказанные предметы, поэтому мы возьмем это и
нажмите на него, мы нажимаем объект так, чтобы один
имя, которое является второй частью строки
и мы хотим, чтобы цена
это третья часть линии и
мы хотим, чтобы количество, равное 4,5
линии и мы бежим , что о том , что немного
трудно читать, я научу тебя трюку
теперь проверьте это
Jason dot string a fie no для запуска этого
еще раз
О, намного лучше
поэтому мы здесь создали JSON
строка из вывода с двумя
пространства для отступов у нас есть ошибка
потому что только последний пункт здесь и
пойманный здесь на самом деле
добавляется в массив, и это потому, что
мы переопределяем его здесь, поэтому мы должны
скопировать этот
и просто убедитесь, что теперь мы
повторное использование существующего массива, если
существует одно, иначе мы подписываем
так или иначе, и у нас есть выход так вафель
железный блендер и нет количества ох
У меня есть ошибка времени, когда вы устали
хорошо, и мы сделали сегодня, мы
рассмотрел более продвинутый пример сокращения
где вместо использования номера мы использовали
восемь литерал объекта мы также видим некоторые
цепочка продолжается здесь
хороший функциональный код состоит из небольших
функции, которые делают одну вещь, и вы просто
найти их все вместе, и это то, что
мы здесь имеем обрезку с расколом
у нас есть карта, которая, в свою очередь, использует split
внутри него ах, и мы уменьшаем
что вы видите здесь
то , что ты собираешься увидеть много
если вы выполняете функциональную программу, я собираюсь
немного придираться к суеверию юры
виски, который мы должны весной
на каноэ путешествие других парней
не будет знать, что включено, потому что это
эпизод не выходит до понедельника
Я вырву их , так что я в отпуске рядом
неделю, поэтому не будет следующего эпизода
Понедельник, но будет понедельник
после этого, пожалуйста, скажите мне, что вы
думаю, что этот эпизод должен быть о
либо прокомментировать ниже, либо отправить мне
твит в MV Jamie oh и две недели
без эпизода, который долгое время
вы можете забыть обо мне, поэтому убедитесь, что
что вы подписались вас он халтура там
там или следуй за мной в Твиттере для некоторых
из вас, ребята, это доброе утро
и для меня это хорошая ночь до следующего
время оставаться любопытным
Please follow and like us:

Be First to Comment

Добавить комментарий