underscore的Object之pick

2019-04-15 17:29发布

     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