`
zhangyaochun
  • 浏览: 2620314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

underscore的Object之pick

阅读更多

 

   pick:

 

//返回一个object副本,只过滤出keys(有效的键组成的数组)参数指定的属性值。
_.pick(object,*keys);

 

   举例:

 

//{name:"zyc"}
_.pick({name:"zyc",age:100},"name");

 

 

   源码:

 

var concat = Array.prototype.concat,
      slice = Array.prototype.slice;
_.pick = function(obj,iterator,context){
    var result = {};
    if(_.isFunction(iterator)){
         //这个分支感觉使用者很少用
         for(var key in obj){
              var value = obj[key];

              if(iterator.call(context,value,key,obj)){
                   result[key] = value;
              }
         }


    }else {

       //获取参数里面的对应值重组keys
      //arguments,1
        var keys = concat.apply([],slice.call(arguments,1));

        for(var i=0,length = keys.length;i<length;i++){
            var key = keys[i];
            if(key in obj){
                  result[key] = obj[key];
            }
        }
    }

    return result;

};

 

分享到:
评论

相关推荐

    underscore.js帮助文档

    - `_.pick(object, *props)`:从对象中选取指定属性,返回包含这些属性的新对象。 - `_.omit(object, *props)`:从对象中剔除指定属性,返回不包含这些属性的新对象。 3. **函数操作**: - `_.bind(func, ...

    Learning Underscore.js

    Take advantage of object-oriented or functional programming techniques with Underscore.js Leverage Underscore.js to create code that targets client, server, or database contexts Extend Underscore.js ...

    underscore-1.6.0.zip

    2. **对象操作**:对于对象,underscore提供了_.keys()来获取对象的所有属性名,_.values()获取所有属性值,_.extend()用于合并对象,_.pick()和_.omit()则可以分别选取或排除对象的部分属性。 3. **函数编程**:...

    Underscore.php——Underscore.js的php移植版

    Underscore.js是目前最好用的Javascript工具包,提供了100多个函数。Underscore.php是Underscore.js的PHP移植版,并且实现了部分Underscore.js中的功能! 我花了一个月的时间将Underscore.php的文档翻译为中文,开源...

    underscore应用

    2. **对象操作**:在对象处理方面,underscore提供了`_.keys()`获取对象的所有键,`_.values()`获取所有值,`_.extend()`用于对象合并,`_.pick()`和`_.omit()`分别用于选取和剔除对象的指定属性。 3. **函数编程**...

    underscore1.5.2中文帮助

    Underscore.js 是一个功能丰富的JavaScript实用库,其主要特点和知识点可以分为以下几个方面: 1. **库的基本介绍**: - Underscore.js 是一个为JavaScript语言提供的实用工具集,其灵感来源于Ruby语言和Prototype...

    underscore-min.js 1.8.3

    underscore-min.js

    underscore.js 1.8.2

    underscore.js underscore.js underscore.js

    underscore-1.4.3.zip

    《深入理解Underscore.js 1.4.3:核心概念与实践》 Underscore.js,一个轻量级的JavaScript实用库,以其强大的工具集和对JavaScript原生功能的补充,深受开发者喜爱。在本篇文章中,我们将深入探讨Underscore 1.4.3...

    underscore源码学习计划

    《深入剖析Underscore.js:源码学习指南》 Underscore.js,作为一个轻量级的JavaScript实用库,为开发者提供了丰富的函数式编程工具,帮助我们处理日常开发中的各种问题。其简洁的代码和强大的功能使得它在...

    Underscore1.8.3 参考手册.CHM

    Underscore1.8.3 参考手册.CHM,Underscore中文教程,Underscore离线手册

    Underscore ,是js的一个实用库

    2. **对象操作**:对于对象,Underscore提供了`_.keys()`用于获取对象的所有键,`_.values()`获取所有值,`_.pairs()`将对象转换为键值对数组,`_.extend()`用于对象扩展,以及`_.omit()`和`_.pick()`分别用于移除或...

    backbone.js underscore.js

    在实际项目中,Backbone.js依赖于Underscore.js,因为Backbone的一些功能如事件系统和模板引擎就构建在Underscore.js之上。同时,jQuery-1.10.2.js作为基础库,提供了DOM操作和Ajax请求的支持,使得开发者可以方便地...

    underscore

    underscore js工具类,underscore为集合类对象提供了一致的接口

    underscore解析

    underscore源码解析

    js,jquery,underscore api文档

    JavaScript API通常包括DOM(Document Object Model)操作、BOM(Browser Object Model)操作以及事件处理等。W3C Javascript 2010-07-19.chm文件很可能是JavaScript的官方参考文档,涵盖了语言规范和标准库的详细...

    前端项目-underscore-contrib.zip

    在前端开发领域,JavaScript库的使用是提升开发效率的重要手段之一。本篇文章将围绕“前端项目-underscore-contrib.zip”进行详细解析,帮助开发者深入理解其背后的原理和应用场景,以及如何在实际项目中有效地运用...

    underscore.js api文档 chm

    underscore.js api文档 chm

Global site tag (gtag.js) - Google Analytics