varisObject=require('./isObject'),isPrototype=require('./_isPrototype'),nativeKeysIn=require('./_nativeKeysIn');/** Used for built-in method references. */varobjectProto=Object.prototype;/** Used to check objects for own properties. */varhasOwnProperty=objectProto.hasOwnProperty;/** * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */functionbaseKeysIn(object){if(!isObject(object)){returnnativeKeysIn(object);}varisProto=isPrototype(object),result=[];for(varkeyinobject){if(!(key=='constructor'&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key);}}returnresult;}module.exports=baseKeysIn;