Back to Underscore

has.js

docs/modules/has.html

1.13.86.3 KB
Original Source

modules/_baseCreate.jsmodules/_baseIteratee.jsmodules/_cb.jsmodules/_chainResult.jsmodules/_collectNonEnumProps.jsmodules/_createAssigner.jsmodules/_createEscaper.jsmodules/_createIndexFinder.jsmodules/_createPredicateIndexFinder.jsmodules/_createReduce.jsmodules/_createSizePropertyCheck.jsmodules/_deepGet.jsmodules/_escapeMap.jsmodules/_executeBound.jsmodules/_flatten.jsmodules/_getByteLength.jsmodules/_getLength.jsmodules/_group.jsmodules/_has.jsmodules/_hasObjectTag.jsmodules/_isArrayLike.jsmodules/_isBufferLike.jsmodules/_keyInObj.jsmodules/_methodFingerprint.jsmodules/_optimizeCb.jsmodules/_setup.jsmodules/_shallowProperty.jsmodules/_stringTagBug.jsmodules/_tagTester.jsmodules/_toBufferView.jsmodules/_toPath.jsmodules/_unescapeMap.jsmodules/after.jsmodules/allKeys.jsmodules/before.jsmodules/bind.jsmodules/bindAll.jsmodules/chain.jsmodules/chunk.jsmodules/clone.jsmodules/compact.jsmodules/compose.jsmodules/constant.jsmodules/contains.jsmodules/countBy.jsmodules/create.jsmodules/debounce.jsmodules/defaults.jsmodules/defer.jsmodules/delay.jsmodules/difference.jsmodules/each.jsmodules/escape.jsmodules/every.jsmodules/extend.jsmodules/extendOwn.jsmodules/filter.jsmodules/find.jsmodules/findIndex.jsmodules/findKey.jsmodules/findLastIndex.jsmodules/findWhere.jsmodules/first.jsmodules/flatten.jsmodules/functions.jsmodules/get.jsmodules/groupBy.jsmodules/has.jsmodules/identity.jsmodules/index-all.jsmodules/index-default.jsmodules/index.jsmodules/indexBy.jsmodules/indexOf.jsmodules/initial.jsmodules/intersection.jsmodules/invert.jsmodules/invoke.jsmodules/isArguments.jsmodules/isArray.jsmodules/isArrayBuffer.jsmodules/isBoolean.jsmodules/isDataView.jsmodules/isDate.jsmodules/isElement.jsmodules/isEmpty.jsmodules/isEqual.jsmodules/isError.jsmodules/isFinite.jsmodules/isFunction.jsmodules/isMap.jsmodules/isMatch.jsmodules/isNaN.jsmodules/isNull.jsmodules/isNumber.jsmodules/isObject.jsmodules/isRegExp.jsmodules/isSet.jsmodules/isString.jsmodules/isSymbol.jsmodules/isTypedArray.jsmodules/isUndefined.jsmodules/isWeakMap.jsmodules/isWeakSet.jsmodules/iteratee.jsmodules/keys.jsmodules/last.jsmodules/lastIndexOf.jsmodules/map.jsmodules/mapObject.jsmodules/matcher.jsmodules/max.jsmodules/memoize.jsmodules/min.jsmodules/mixin.jsmodules/negate.jsmodules/noop.jsmodules/now.jsmodules/object.jsmodules/omit.jsmodules/once.jsmodules/pairs.jsmodules/partial.jsmodules/partition.jsmodules/pick.jsmodules/pluck.jsmodules/property.jsmodules/propertyOf.jsmodules/random.jsmodules/range.jsmodules/reduce.jsmodules/reduceRight.jsmodules/reject.jsmodules/rest.jsmodules/restArguments.jsmodules/result.jsmodules/sample.jsmodules/shuffle.jsmodules/size.jsmodules/some.jsmodules/sortBy.jsmodules/sortedIndex.jsmodules/tap.jsmodules/template.jsmodules/templateSettings.jsmodules/throttle.jsmodules/times.jsmodules/toArray.jsmodules/toPath.jsmodules/underscore-array-methods.jsmodules/underscore.jsmodules/unescape.jsmodules/union.jsmodules/uniq.jsmodules/uniqueId.jsmodules/unzip.jsmodules/values.jsmodules/where.jsmodules/without.jsmodules/wrap.jsmodules/zip.js

has.js

import_hasfrom'./\_has.js';importtoPathfrom'./\_toPath.js';

Shortcut function for checking if an object has a given property directly on itself (in other words, not on a prototype). Unlike the internal has function, this public version can also traverse nested properties.

exportdefaultfunctionhas(obj, path) {
  path =toPath(path);varlength = path.length;for(vari =0; i < length; i++) {varkey = path[i];if(!\_has(obj, key))returnfalse;
    obj = obj[key];
  }return!!length;
}