/lodash-learn

fork lodash for learning

Primary LanguageJavaScriptMIT LicenseMIT

lodash v4.17.4

fork这个仓库是为了看里面的代码,夯实自己的基础,印证自己的不足。不过一拿到手怎么感觉这个结构有点乱呢。。

文件列表

lodash

  • add.js
  • after.js
  • ary.js
  • assignWith.js
  • at.js
  • attempt.js
  • before.js
  • bindKey.js
  • camelCase.js
  • capitalize.js
  • castArray.js
  • ceil.js
  • chunk.js
  • clamp.js
  • clone.js
  • cloneDeep.js
  • cloneDeepWith.js
  • cloneWith.js
  • compact.js
  • cond.js
  • conforms.js
  • conformsTo.js
  • countBy.js
  • create.js
  • curry.js
  • curryRight.js
  • debounce.js
  • deburr.js
  • defaultTo.js
  • defaults.js
  • defaultsDeep.js
  • defer.js
  • delay.js
  • difference.js
  • differenceBy.js
  • differenceWith.js
  • divide.js
  • drop.js
  • dropRight.js
  • dropRightWhile.js
  • dropWhile.js
  • each.js
  • eachRight.js
  • endsWith.js
  • eq.js 比较两个value是否相等 包括===和NaN
  • eqDeep.js
  • escape.js
  • escapeRegExp.js
  • every.js
  • everyValue.js
  • filter.js
  • filterObject.js
  • find.js
  • findKey.js
  • findLast.js
  • findLastIndex.js
  • findLastKey.js
  • first.js
  • flatMap.js
  • flatMapDeep.js
  • flatMapDepth.js
  • flatten.js
  • flattenDeep.js
  • flattenDepth.js
  • flip.js
  • floor.js
  • flow.js
  • flowRight.js
  • forEach.js
  • forEachRight.js
  • forOwn.js
  • forOwnRight.js
  • fromPairs.js
  • functions.js
  • get.js
  • groupBy.js
  • gt.js
  • gte.js
  • has.js
  • hasIn.js
  • hasPath.js
  • hasPathIn.js
  • head.js
  • inRange.js
  • indexOf.js
  • initial.js
  • intersection.js
  • intersectionBy.js
  • intersectionWith.js
  • invert.js
  • invertBy.js
  • invoke.js
  • invokeMap.js
  • isArguments.js
  • isArrayBuffer.js
  • isArrayLike.js
  • isArrayLikeObject.js
  • isBoolean.js
  • isBuffer.js
  • isDate.js
  • isElement.js
  • isEmpty.js
  • isEqualWith.js
  • isError.js
  • isFunction.js
  • isLength.js
  • isMap.js
  • isMatch.js
  • isMatchWith.js
  • isNative.js
  • isNil.js
  • isNull.js
  • isNumber.js
  • isObject.js
  • isObjectLike.js
  • isPlainObject.js
  • isRegExp.js
  • isSet.js
  • isString.js
  • isSymbol.js
  • isTypedArray.js
  • isUndefined.js
  • isWeakMap.js
  • isWeakSet.js
  • kebabCase.js
  • keyBy.js
  • keys.js
  • last.js
  • lastIndexOf.js
  • lowerCase.js
  • lowerFirst.js
  • lt.js
  • lte.js
  • map.js
  • mapKey.js
  • mapObject.js
  • mapValue.js
  • matches.js
  • matchesProperty.js
  • maxBy.js
  • mean.js
  • meanBy.js
  • memoize.js
  • merge.js
  • mergeWith.js
  • method.js
  • methodOf.js
  • minBy.js
  • multiply.js
  • negate.js
  • nth.js
  • nthArg.js
  • once.js
  • orderBy.js
  • over.js
  • overArgs.js
  • overEvery.js
  • overSome.js
  • pad.js
  • padEnd.js
  • padStart.js
  • parseInt.js
  • partition.js
  • pick.js
  • pickBy.js
  • property.js
  • propertyOf.js
  • pull.js
  • pullAll.js
  • pullAllBy.js
  • pullAllWith.js
  • pullAt.js
  • random.js
  • range.js
  • rangeRight.js
  • reduce.js
  • reduceRight.js
  • reject.js
  • remove.js
  • repeat.js
  • replace.js
  • result.js
  • round.js
  • sample.js
  • sampleSize.js
  • set.js
  • setWith.js
  • shuffle.js
  • size.js
  • slice.js
  • snakeCase.js
  • some.js
  • someValue.js
  • sortedIndex.js
  • sortedIndexBy.js
  • sortedIndexOf.js
  • sortedLastIndex.js
  • sortedLastIndexBy.js
  • sortedLastIndexOf.js
  • sortedUniq.js
  • sortedUniqBy.js
  • split.js
  • startCase.js
  • startsWith.js
  • subtract.js
  • sum.js
  • sumBy.js
  • tail.js
  • take.js
  • takeRight.js
  • takeRightWhile.js
  • takeWhile.js
  • template.js
  • templateSettings.js
  • throttle.js
  • times.js
  • toArray.js
  • toFinite.js
  • toInteger.js
  • toLength.js
  • toNumber.js
  • toPath.js
  • toPlainObject.js
  • toSafeInteger.js
  • toString.js
  • transform.js
  • trim.js
  • trimEnd.js
  • trimStart.js
  • truncate.js
  • unescape.js
  • union.js
  • unionBy.js
  • unionWith.js
  • uniq.js
  • uniqBy.js
  • uniqWith.js
  • uniqueId.js
  • unset.js
  • unzip.js
  • unzipWith.js
  • update.js
  • updateWith.js
  • upperCase.js
  • upperFirst.js
  • values.js
  • without.js
  • words.js
  • xor.js
  • xorBy.js
  • xorWith.js
  • zip.js
  • zipObject.js
  • zipObjectDeep.js
  • zipWith.js

lodash/.internal

  • Hash.js
  • ListCache.js
  • MapCache.js
  • SetCache.js
  • Stack.js
  • addMapEntry.js 将数组arr拆成arr[0], arr[1]放入传入的map.
  • addSetEntry.js 将值放入传入的set
  • arrayEach.js 专门为数组准备的forEach函数
  • arrayEachRight.js 从数组最后一个元素往第一个元素迭代,返回false停止迭代
  • arrayIncludes.js 数组的includes方法,并且不支持指定起始index的版本.
  • arrayIncludesWith.js 支持传入比较函数的arrayIncludes
  • arrayLikeKeys.js 创建value枚举属性名称的数组 value是个array-like对象
  • arrayReduce.js 适用于array的reduce方法
  • arrayReduceRight.js 适用于array的reduceRight方法
  • asciiSize.js string的length
  • asciiToArray.js string.split('')
  • assignMergeValue.js 类似assignValue,但如果obj[key]存在 不合并undefined
  • assignValue.js 如果实例本身有没有key或者obj[key] !== value则做赋值操作
  • assocIndexOf.js
  • baseAssignValue.js 不带类型检查的assignValue的基础实现
  • baseAt.js
  • baseClone.js
  • baseConforms.js
  • baseConformsTo.js
  • baseDifference.js
  • baseEach.js
  • baseEachRight.js
  • baseFindIndex.js 关于findIndex和findLastIndex的简单实现
  • baseFindKey.js
  • baseFlatten.js
  • baseFor.js
  • baseForOwn.js
  • baseForOwnRight.js
  • baseForRight.js
  • baseGet.js
  • baseGetTag.js
  • baseInRange.js
  • baseIndexOf.js indexOf的基础实现,没有检测fromIndex是否超出边界的版本
  • baseIndexOfWith.js
  • baseIntersection.js
  • baseIsEqual.js
  • baseIsEqualDeep.js
  • baseIsMatch.js
  • baseIsNaN.js isNaN的基础实现,不支持number object
  • baseMatches.js
  • baseMatchesProperty.js
  • baseMerge.js
  • baseMergeDeep.js
  • baseOrderBy.js
  • basePick.js
  • basePickBy.js
  • baseProperty.js
  • basePropertyDeep.js
  • basePropertyOf.js
  • basePullAll.js
  • basePullAt.js
  • baseRange.js
  • baseReduce.js
  • baseSet.js
  • baseSortBy.js
  • baseSortedIndex.js
  • baseSortedIndexBy.js
  • baseSortedUniq.js
  • baseSum.js
  • baseToNumber.js
  • baseToString.js
  • baseUniq.js
  • baseUnset.js
  • baseUpdate.js
  • baseValues.js
  • baseWhile.js
  • baseXor.js
  • baseZipObject.js
  • cacheHas.js
  • castArrayLikeObject.js
  • castPath.js
  • castSlice.js
  • charsEndIndex.js
  • charsStartIndex.js
  • cloneArrayBuffer.js
  • cloneBuffer.js
  • cloneDataView.js
  • cloneRegExp.js
  • cloneSymbol.js
  • cloneTypedArray.js
  • compareAscending.js
  • compareMultiple.js
  • composeArgs.js
  • composeArgsRight.js
  • copyArray.js
  • copyObject.js
  • copySymbols.js
  • copySymbolsIn.js
  • createCaseFirst.js
  • createMathOperation.js
  • createPadding.js
  • createRange.js
  • createRound.js
  • createSet.js
  • customDefaultsMerge.js
  • deburrLetter.js
  • equalArrays.js
  • equalByTag.js
  • equalObjects.js
  • freeGlobal.js
  • getAllKeys.js
  • getAllKeysIn.js
  • getHolder.js
  • getMatchData.js
  • getSymbols.js
  • getSymbolsIn.js
  • getTag.js
  • hasUnicode.js
  • initCloneObject.js
  • isFlattenable.js
  • isIndex.js
  • isKey.js
  • isPrototype.js
  • isStrictComparable.js
  • iteratorToArray.js
  • mapToArray.js
  • matchesStrictComparable.js
  • memoizeCapped.js
  • metaMap.js
  • nodeUtil.js
  • parent.js
  • reEscape.js
  • reEvaluate.js
  • reInterpolate.js
  • root.js
  • setToArray.js
  • setToPairs.js
  • setToString.js
  • strictIndexOf.js 基于严格相等的(===)indexOf
  • strictLastIndexOf.js
  • stringSize.js
  • stringToArray.js
  • stringToPath.js
  • toKey.js
  • unicodeSize.js
  • unicodeToArray.js
  • unicodeWords.js