2.14 pluck

2.14.1 语法:

_.pluck(list, key)

2.14.2 说明:

pluck方法根据key对list数组中的每个对象进行检索,返回检索成功的属性值,否则返回undefined,返回一个数组

  • list为数组和arguments(数组中需要是对象类似:{x: 1})
  • key是一个字符串

2.14.3 代码示例:

示例一:根据key来检索数组对象

var result;

// 操作数组对象
result = _.pluck([{name: 'moe', age: 30}, {name: 'curly', age: 50}], 'name');
console.log(result); //=> ["moe", "curly"] //操作arguments
function abc() {
result = _.pluck([{name: 'moe', age: 30}, {name: 'curly', age: 50}], 'name');
console.log(result); //=> ["1.0", "2.0", "3.0"]
}
abc({name: 'moe', age: 30}, {name: 'curly', age: 50});

2.14.4 检索不到对应的key

var result = _.pluck([{ name: 'moe', age: 30 }, { name: 'curly', age: 50 }], 'sex');
console.log(result); //=> [undefined, undefined]

2.14.5 常见误区:

var result;

// list为字符串
result = _.pluck('ab', 'sex');
console.log(result); //=> [undefined, undefined] // list为对象
result = _.pluck({ x: 1, y: 2 }, 'sex');
console.log(result); //=> [undefined, undefined]

2.14.5 特殊情况:

var result;

result = _.pluck([{ '[object Object]': 1 }, { x: 2 }], {});
console.log(result); //=> [1, undefined] // list为null、true、undefined等等则返回一个空数组
result = _.pluck(null, 'sex');
console.log(result); //=> []

underscorejs-pluck学习的更多相关文章

  1. 不学就吃亏的underscorejs类库学习示例 ——(集合篇)

    underscorejs是一个很不错的类库,我的很多项目都引用了这个类库,的确可以带来很多方便. 记得我当初学的时候,看underscorejs的api是看的一知半解的,甚至不明白api里的conte ...

  2. 学习zepto.js(对象方法)[3]

    继续说zepto里attributes的相关操作. attr,removeAttr,prop这三个方法. attr(): 三种用途 get: 返回值为一个string字符串 $("<s ...

  3. Laravel5.0学习--01 入门

    本文以laravel5.0.22为例. 生产环境建议使用laravel5.1版本,因为该版本是长期支持版本.5.1文档更详细:http://laravel-china.org/docs/5.1. 环境 ...

  4. 慕客网laravel学习笔记

    session中set方法使用 Session::set('user.username.age','18')嵌套使用得出$user = ['username'=>['age'=>18]]; ...

  5. Backbone学习笔记一Backbone中的MVC

    原文章地址http://bigdots.github.io/2015/12/01/Backbone学习笔记(一)/#more Backbone.js为复杂WEB应用程序提供模型(models).集合( ...

  6. APPCAN学习笔记004---AppCan与Hybrid,appcan概述

    APPCAN学习笔记004---AppCan与Hybrid,appcan概述 技术qq交流群:JavaDream:251572072 本节讲了appcan的开发流程,和开发工具 笔记不做具体介绍了,以 ...

  7. ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展

    关于ExtJS对javascript中的Array的扩展.能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 因为 ...

  8. Angularjs学习笔记《一》

    开始慢慢的学习新的框架,Angularjs,其中原理不知深浅,但有例子练习,慢慢熟知.看的英文文档一点点翻译学习. 第一个例子,写一个增加,选中,删除的例子, 首先要引进所用的框架源码,这样引进,下面 ...

  9. Underscore.js 源码学习笔记(上)

    版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}());  这样的东西,我们应该知道这是一个 IIFE(立即执行 ...

  10. RxJS v6 学习指南

    为什么要使用 RxJS RxJS 是一套处理异步编程的 API,那么我将从异步讲起. 前端编程中的异步有:事件(event).AJAX.动画(animation).定时器(timer). 异步常见的问 ...

随机推荐

  1. 【离线】【深搜】【树】Codeforces 707D Persistent Bookcase

    题目链接: http://codeforces.com/problemset/problem/707/D 题目大意: 一个N*M的书架,支持4种操作 1.把(x,y)变为有书. 2.把(x,y)变为没 ...

  2. 【宽搜】Vijos P1206 CoVH之再破难关

    题目链接: https://vijos.org/p/1206 题目大意: 给你开始和结束两张4x4的01图,每次操作只能够交换相邻的两个格子(有公共边),问最少的操作步数. 题目思路: [搜索] 这题 ...

  3. 未在本地计算机上注册"MSDAORA.1"提供程序

    1.在客户机器上部署数据库的时候老是报这个异常. 分析:因为用的是OleDB这个万能驱动, 连接字符串 Provider=MSDAORA.1;Password=CCIM;User ID=CCIM;Da ...

  4. HDU4003 Find Metal Mineral

    看别人思路的 树形分组背包. 题意:给出结点数n,起点s,机器人数k,然后n-1行给出相互连接的两个点,还有这条路线的价值,要求最小花费 思路:这是我从别人博客里找到的解释,因为很详细就引用了 dp[ ...

  5. [Locked] Shortest Word Distance I & II & III

    Shortest Word Distance Given a list of words and two words word1 and word2, return the shortest dist ...

  6. [置顶] android 图片库的封装

    大家在做安卓应用的时候  经常要从网络中获取图片 都是通过URL去获取 可是如果本地有图片数据 从本地获取数据不更加快一些  自己在工作中遇到这个问题 所以采用了一个URL和本地图片的一个映射关系  ...

  7. crossfire 346# B

    Vasya has the square chessboard of size n × n and m rooks. Initially the chessboard is empty. Vasya ...

  8. Java中类的初始化

    类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.其中验证.准备.解析3个部分统称为连接.类加载的过程包括了加载.验证.准备.解 ...

  9. .NET 基础 一步步 一幕幕[面向对象之new、this关键字]

    经常会有人问:小伙子,有没有对象啊,要不要大叔我帮你介绍一个啊,小伙子会说:大叔,不用我自己new一个就好了.(PS:活该你没有对象) 上边当然是一个段子咯,程序员那会没有对象,自己new一个就有了啊 ...

  10. ckfinder 1

    网上的破解教程对于2.4版本来说已经过时了. 以下是CKFinder 2.4 ASP.NET的亲测可用破解方法,经测试,只需修改两处代码. 打开ckfinder.js, 步骤1. 搜索替换如下代码: ...