36 lines
		
	
	
		
			630 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			630 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /*! | ||
|  |  * object.pick <https://github.com/jonschlinkert/object.pick>
 | ||
|  |  * | ||
|  |  * Copyright (c) 2014-2015 Jon Schlinkert, contributors. | ||
|  |  * Licensed under the MIT License | ||
|  |  */ | ||
|  | 
 | ||
|  | 'use strict'; | ||
|  | 
 | ||
|  | var isObject = require('isobject'); | ||
|  | 
 | ||
|  | module.exports = function pick(obj, keys) { | ||
|  |   if (!isObject(obj) && typeof obj !== 'function') { | ||
|  |     return {}; | ||
|  |   } | ||
|  | 
 | ||
|  |   var res = {}; | ||
|  |   if (typeof keys === 'string') { | ||
|  |     if (keys in obj) { | ||
|  |       res[keys] = obj[keys]; | ||
|  |     } | ||
|  |     return res; | ||
|  |   } | ||
|  | 
 | ||
|  |   var len = keys.length; | ||
|  |   var idx = -1; | ||
|  | 
 | ||
|  |   while (++idx < len) { | ||
|  |     var key = keys[idx]; | ||
|  |     if (key in obj) { | ||
|  |       res[key] = obj[key]; | ||
|  |     } | ||
|  |   } | ||
|  |   return res; | ||
|  | }; |