[Javascript] Lodash: Refactoring Simple For Loops (_.find, _.findLast, _.filter)

This lesson shows how to refactor your old loops into using a simpler and more powerful lodash-style. We will start by looking at how many people traditionally write JavaScript for loops and then talk about the alternate style and benefits that Lodash offers.

If you want to find one value from the value, you can use:

_.find

or

_.findLast

If you want to get all match results, you can use:

_.filter()

var people = [
    {name: "Frank", age: 30, gender: ‘male‘},
    {name: "Bill", age: 22, gender: ‘male‘},
    {name: "Carol", age: 52, gender: ‘female‘},
    {name: "Susan", age: 10, gender: ‘female‘},
    {name: "Stephanie", age: 22, gender: ‘female‘},
    {name: "Kyle", age: 68, gender: ‘male‘},
    {name: "Hank", age: 22, gender: ‘male‘},
    {name: "Susan", age: 20, gender: ‘female‘}
];

//Loop: find one ‘Susan‘
var susan;
for (var i = 0; i < people.length; i++) {
    var person = people[i];
    if(person.name == "Susan"){
        susan = person;
        break;
    }
}

console.log(susan);

//Lodash: find one ‘Susan‘
var susan2 = _.find(people, {name: ‘Susan‘});

console.log(susan2);

//Loop: find all ‘Susan‘
var susans = [];
for (var i = 0; i < people.length; i++) {
    var person = people[i];
    if(person.name == "Susan"){
        susans.push(person);
    }
}

console.log(susans);

//Lodash: find all ‘Susan‘
var susans2 = _.filter(people, {name: ‘Susan‘});

console.log(susans2);
时间: 2024-10-10 08:28:50

[Javascript] Lodash: Refactoring Simple For Loops (_.find, _.findLast, _.filter)的相关文章

JavaScript Patterns 2.3 - For loops

HTMLCollections are objects returned by DOM methods such as: ? document.getElementsByName() ? document.getElementsByClassName() ? document.getElementsByTagName() HTMLCollections, which were introduced before the DOM standard and are still in use toda

软件工程_东师站_第十周作业

一.PSP Data Type Job start Int End Total 20160510 助教 团队作业二 20:00 5 21:00 55 20160511 助教 团队作业二.三 18:45 16 20:45 104 20160512 耐撕 站立会议 18:15   18:35 20 二.进度条   代码行数 博客字数 知识点 第一周 400 430 见我博客软件工程——师大站1 第二周 0 5200 见我博客软件工程_东师站_课堂笔记 第三周 0 63 站立会议.单元测试 第四周 1

C++ Primer笔记12_运算符重载_递增递减运算符_成员访问运算符

1.递增递减运算符 C++语言并不要求递增递减运算符必须是类的成员.但是因为他们改变的正好是所操作对象的状态,所以建议设定为成员函数. 对于递增与递减运算符来说,有前置与后置两个版本,因此,我们应该为类定义两个版本的递增与递减运算符. 问题来了,程序是如何区分前置和后置呢?因为都是++和-- 为了解决这个问题,后置版本的递增递减运算符接受一个额外的(不被使用)int类型的形参.当我们使用后置运算符时,编译器为这个形参提供一个值为0的实参.这个形参唯一的作用就是区分前置和后置运算符函数. 因为不会

IOS_地图_定位_天气预报_Block回调_单例

H:/1021/00_block回调.h /* 通过block回调 定义block代码块,目的是解析完成之后调用 返回值是 void 参数是 数组,里面的每个成员是一个NSString*/ typedef void(^WeatherFinishedBlock)(NSArray *dataList); @interface WeatherXMLPaser : NSObject // 解析器解析数据,参数1是要解析的数据,参数2是解析完毕回调的代码块 - (void)parserWeatherDat

Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松!

Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松! 首页 / 关于我们 / 关于Payssion 关于Payssion Payssion,让跨境支付更轻松! Payssion,专注于为中小企业和个人提供"安全.轻松.便捷"的全球在线支付解决方案,为客户提供全球在线收款服务.我们的团队成员来自支付宝.Paypal等支付公司,我们对全球支付方面有着长期的经验积累! 为什

android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)

第三节(2):常用控件之ViewPager.日期时间相关.ListView  一.ViewPager 实例:结合PagerAdapter滑动切换图片  二.日期时间相关:AnalogClock\DigitalClock\DatePicker\TimerPicker\DatePickerDialog\TimePickerDialog 三.ListView 实例1:城市选择器 实例2:自定义列表项 百度网盘视频下载地址:http://pan.baidu.com/s/1c0ip6la android内

软件工程_东师站_第八周作业

一.PSP Date Type Job Start Interrupt(min) End Total(min) 20160417 助教 黄金点 20:00 5 21:00 55 20160418 助教 黄金点 19:00 12 21:00 108 20160419 助教 黄金点 18:45 100 23:00 155 20160420 助教 团队作业 10:00 35 11:20 45 20160425 结对编程 四则运算 19:00 5 19:30 25 ? 二.进度条 ? 代码行数 博客字数

软件工程_东师站_第五周作业

1.psp Date Type Job Start Int(min) End Total(min) 20160404 助教 团队博客 14:00 16:20 25 14:25 18:00 100 站立会议 "耐撕"站立会议 15:10 15:40 30 编码 重构 18:00 5 18:30 25 编码 选择抢答者(JSP) 18:30 10 19:30 50 20160405 编码 选择抢答者(生成抢答者圈圈) 18:10 15 19:00 35 看书 计算机网络与因特网 22:00

软件工程_东师站_第四周作业

1.PSP 全图落在实验室了,凭记忆画一个. 开始时间 结束时间 中断 净时间 写代码 1. 抢答器返回ID改按钮颜色 2. 随机生成题目 18:00 19:30 19:30 21:00 10 10 80 80 结对编程 19:30 21:00 10 80   站立会议 20:33 17:00    18:30 20:30 21:05 17:30  19:00 20:50 110 写博客 21:00 21:30 30   2.进度条 代码行数 博客字数 知识点 第一周 400 430 见我博客软