UNPKG

gaf-mobile

Version:

GAF mobile Web site

1,540 lines (1,199 loc) 303 kB
# <a href="https://lodash.com/">lodash</a> <span>v4.13.1</span> <!-- div class="toc-container" --> <!-- div --> ## `Array` * <a href="#_chunkarray-size1">`_.chunk`</a> * <a href="#_compactarray">`_.compact`</a> * <a href="#_concatarray-values">`_.concat`</a> * <a href="#_differencearray-values">`_.difference`</a> * <a href="#_differencebyarray-values-iteratee_identity">`_.differenceBy`</a> * <a href="#_differencewitharray-values-comparator">`_.differenceWith`</a> * <a href="#_droparray-n1">`_.drop`</a> * <a href="#_droprightarray-n1">`_.dropRight`</a> * <a href="#_droprightwhilearray-predicate_identity">`_.dropRightWhile`</a> * <a href="#_dropwhilearray-predicate_identity">`_.dropWhile`</a> * <a href="#_fillarray-value-start0-endarraylength">`_.fill`</a> * <a href="#_findindexarray-predicate_identity-fromindex0">`_.findIndex`</a> * <a href="#_findlastindexarray-predicate_identity-fromindexarraylength-1">`_.findLastIndex`</a> * <a href="#_headarray" class="alias">`_.first` -> `head`</a> * <a href="#_flattenarray">`_.flatten`</a> * <a href="#_flattendeeparray">`_.flattenDeep`</a> * <a href="#_flattendeptharray-depth1">`_.flattenDepth`</a> * <a href="#_frompairspairs">`_.fromPairs`</a> * <a href="#_headarray">`_.head`</a> * <a href="#_indexofarray-value-fromindex0">`_.indexOf`</a> * <a href="#_initialarray">`_.initial`</a> * <a href="#_intersectionarrays">`_.intersection`</a> * <a href="#_intersectionbyarrays-iteratee_identity">`_.intersectionBy`</a> * <a href="#_intersectionwitharrays-comparator">`_.intersectionWith`</a> * <a href="#_joinarray-separator-">`_.join`</a> * <a href="#_lastarray">`_.last`</a> * <a href="#_lastindexofarray-value-fromindexarraylength-1">`_.lastIndexOf`</a> * <a href="#_ntharray-n0">`_.nth`</a> * <a href="#_pullarray-values">`_.pull`</a> * <a href="#_pullallarray-values">`_.pullAll`</a> * <a href="#_pullallbyarray-values-iteratee_identity">`_.pullAllBy`</a> * <a href="#_pullallwitharray-values-comparator">`_.pullAllWith`</a> * <a href="#_pullatarray-indexes">`_.pullAt`</a> * <a href="#_removearray-predicate_identity">`_.remove`</a> * <a href="#_reversearray">`_.reverse`</a> * <a href="#_slicearray-start0-endarraylength">`_.slice`</a> * <a href="#_sortedindexarray-value">`_.sortedIndex`</a> * <a href="#_sortedindexbyarray-value-iteratee_identity">`_.sortedIndexBy`</a> * <a href="#_sortedindexofarray-value">`_.sortedIndexOf`</a> * <a href="#_sortedlastindexarray-value">`_.sortedLastIndex`</a> * <a href="#_sortedlastindexbyarray-value-iteratee_identity">`_.sortedLastIndexBy`</a> * <a href="#_sortedlastindexofarray-value">`_.sortedLastIndexOf`</a> * <a href="#_sorteduniqarray">`_.sortedUniq`</a> * <a href="#_sorteduniqbyarray-iteratee">`_.sortedUniqBy`</a> * <a href="#_tailarray">`_.tail`</a> * <a href="#_takearray-n1">`_.take`</a> * <a href="#_takerightarray-n1">`_.takeRight`</a> * <a href="#_takerightwhilearray-predicate_identity">`_.takeRightWhile`</a> * <a href="#_takewhilearray-predicate_identity">`_.takeWhile`</a> * <a href="#_unionarrays">`_.union`</a> * <a href="#_unionbyarrays-iteratee_identity">`_.unionBy`</a> * <a href="#_unionwitharrays-comparator">`_.unionWith`</a> * <a href="#_uniqarray">`_.uniq`</a> * <a href="#_uniqbyarray-iteratee_identity">`_.uniqBy`</a> * <a href="#_uniqwitharray-comparator">`_.uniqWith`</a> * <a href="#_unziparray">`_.unzip`</a> * <a href="#_unzipwitharray-iteratee_identity">`_.unzipWith`</a> * <a href="#_withoutarray-values">`_.without`</a> * <a href="#_xorarrays">`_.xor`</a> * <a href="#_xorbyarrays-iteratee_identity">`_.xorBy`</a> * <a href="#_xorwitharrays-comparator">`_.xorWith`</a> * <a href="#_ziparrays">`_.zip`</a> * <a href="#_zipobjectprops-values">`_.zipObject`</a> * <a href="#_zipobjectdeepprops-values">`_.zipObjectDeep`</a> * <a href="#_zipwitharrays-iteratee_identity">`_.zipWith`</a> <!-- /div --> <!-- div --> ## `Collection` * <a href="#_countbycollection-iteratee_identity">`_.countBy`</a> * <a href="#_foreachcollection-iteratee_identity" class="alias">`_.each` -> `forEach`</a> * <a href="#_foreachrightcollection-iteratee_identity" class="alias">`_.eachRight` -> `forEachRight`</a> * <a href="#_everycollection-predicate_identity">`_.every`</a> * <a href="#_filtercollection-predicate_identity">`_.filter`</a> * <a href="#_findcollection-predicate_identity-fromindex0">`_.find`</a> * <a href="#_findlastcollection-predicate_identity-fromindexcollectionlength-1">`_.findLast`</a> * <a href="#_flatmapcollection-iteratee_identity">`_.flatMap`</a> * <a href="#_flatmapdeepcollection-iteratee_identity">`_.flatMapDeep`</a> * <a href="#_flatmapdepthcollection-iteratee_identity-depth1">`_.flatMapDepth`</a> * <a href="#_foreachcollection-iteratee_identity">`_.forEach`</a> * <a href="#_foreachrightcollection-iteratee_identity">`_.forEachRight`</a> * <a href="#_groupbycollection-iteratee_identity">`_.groupBy`</a> * <a href="#_includescollection-value-fromindex0">`_.includes`</a> * <a href="#_invokemapcollection-path-args">`_.invokeMap`</a> * <a href="#_keybycollection-iteratee_identity">`_.keyBy`</a> * <a href="#_mapcollection-iteratee_identity">`_.map`</a> * <a href="#_orderbycollection-iteratees_identity-orders">`_.orderBy`</a> * <a href="#_partitioncollection-predicate_identity">`_.partition`</a> * <a href="#_reducecollection-iteratee_identity-accumulator">`_.reduce`</a> * <a href="#_reducerightcollection-iteratee_identity-accumulator">`_.reduceRight`</a> * <a href="#_rejectcollection-predicate_identity">`_.reject`</a> * <a href="#_samplecollection">`_.sample`</a> * <a href="#_samplesizecollection-n1">`_.sampleSize`</a> * <a href="#_shufflecollection">`_.shuffle`</a> * <a href="#_sizecollection">`_.size`</a> * <a href="#_somecollection-predicate_identity">`_.some`</a> * <a href="#_sortbycollection-iteratees_identity">`_.sortBy`</a> <!-- /div --> <!-- div --> ## `Date` * <a href="#_now">`_.now`</a> <!-- /div --> <!-- div --> ## `Function` * <a href="#_aftern-func">`_.after`</a> * <a href="#_aryfunc-nfunclength">`_.ary`</a> * <a href="#_beforen-func">`_.before`</a> * <a href="#_bindfunc-thisarg-partials">`_.bind`</a> * <a href="#_bindkeyobject-key-partials">`_.bindKey`</a> * <a href="#_curryfunc-arityfunclength">`_.curry`</a> * <a href="#_curryrightfunc-arityfunclength">`_.curryRight`</a> * <a href="#_debouncefunc-wait0-options-optionsleadingfalse-optionsmaxwait-optionstrailingtrue">`_.debounce`</a> * <a href="#_deferfunc-args">`_.defer`</a> * <a href="#_delayfunc-wait-args">`_.delay`</a> * <a href="#_flipfunc">`_.flip`</a> * <a href="#_memoizefunc-resolver">`_.memoize`</a> * <a href="#_negatepredicate">`_.negate`</a> * <a href="#_oncefunc">`_.once`</a> * <a href="#_overargsfunc">`_.overArgs`</a> * <a href="#_partialfunc-partials">`_.partial`</a> * <a href="#_partialrightfunc-partials">`_.partialRight`</a> * <a href="#_reargfunc-indexes">`_.rearg`</a> * <a href="#_restfunc-startfunclength-1">`_.rest`</a> * <a href="#_spreadfunc-start0">`_.spread`</a> * <a href="#_throttlefunc-wait0-options-optionsleadingtrue-optionstrailingtrue">`_.throttle`</a> * <a href="#_unaryfunc">`_.unary`</a> * <a href="#_wrapvalue-wrapperidentity">`_.wrap`</a> <!-- /div --> <!-- div --> ## `Lang` * <a href="#_castarrayvalue">`_.castArray`</a> * <a href="#_clonevalue">`_.clone`</a> * <a href="#_clonedeepvalue">`_.cloneDeep`</a> * <a href="#_clonedeepwithvalue-customizer">`_.cloneDeepWith`</a> * <a href="#_clonewithvalue-customizer">`_.cloneWith`</a> * <a href="#_eqvalue-other">`_.eq`</a> * <a href="#_gtvalue-other">`_.gt`</a> * <a href="#_gtevalue-other">`_.gte`</a> * <a href="#_isargumentsvalue">`_.isArguments`</a> * <a href="#_isarrayvalue">`_.isArray`</a> * <a href="#_isarraybuffervalue">`_.isArrayBuffer`</a> * <a href="#_isarraylikevalue">`_.isArrayLike`</a> * <a href="#_isarraylikeobjectvalue">`_.isArrayLikeObject`</a> * <a href="#_isbooleanvalue">`_.isBoolean`</a> * <a href="#_isbuffervalue">`_.isBuffer`</a> * <a href="#_isdatevalue">`_.isDate`</a> * <a href="#_iselementvalue">`_.isElement`</a> * <a href="#_isemptyvalue">`_.isEmpty`</a> * <a href="#_isequalvalue-other">`_.isEqual`</a> * <a href="#_isequalwithvalue-other-customizer">`_.isEqualWith`</a> * <a href="#_iserrorvalue">`_.isError`</a> * <a href="#_isfinitevalue">`_.isFinite`</a> * <a href="#_isfunctionvalue">`_.isFunction`</a> * <a href="#_isintegervalue">`_.isInteger`</a> * <a href="#_islengthvalue">`_.isLength`</a> * <a href="#_ismapvalue">`_.isMap`</a> * <a href="#_ismatchobject-source">`_.isMatch`</a> * <a href="#_ismatchwithobject-source-customizer">`_.isMatchWith`</a> * <a href="#_isnanvalue">`_.isNaN`</a> * <a href="#_isnativevalue">`_.isNative`</a> * <a href="#_isnilvalue">`_.isNil`</a> * <a href="#_isnullvalue">`_.isNull`</a> * <a href="#_isnumbervalue">`_.isNumber`</a> * <a href="#_isobjectvalue">`_.isObject`</a> * <a href="#_isobjectlikevalue">`_.isObjectLike`</a> * <a href="#_isplainobjectvalue">`_.isPlainObject`</a> * <a href="#_isregexpvalue">`_.isRegExp`</a> * <a href="#_issafeintegervalue">`_.isSafeInteger`</a> * <a href="#_issetvalue">`_.isSet`</a> * <a href="#_isstringvalue">`_.isString`</a> * <a href="#_issymbolvalue">`_.isSymbol`</a> * <a href="#_istypedarrayvalue">`_.isTypedArray`</a> * <a href="#_isundefinedvalue">`_.isUndefined`</a> * <a href="#_isweakmapvalue">`_.isWeakMap`</a> * <a href="#_isweaksetvalue">`_.isWeakSet`</a> * <a href="#_ltvalue-other">`_.lt`</a> * <a href="#_ltevalue-other">`_.lte`</a> * <a href="#_toarrayvalue">`_.toArray`</a> * <a href="#_tofinitevalue">`_.toFinite`</a> * <a href="#_tointegervalue">`_.toInteger`</a> * <a href="#_tolengthvalue">`_.toLength`</a> * <a href="#_tonumbervalue">`_.toNumber`</a> * <a href="#_toplainobjectvalue">`_.toPlainObject`</a> * <a href="#_tosafeintegervalue">`_.toSafeInteger`</a> * <a href="#_tostringvalue">`_.toString`</a> <!-- /div --> <!-- div --> ## `Math` * <a href="#_addaugend-addend">`_.add`</a> * <a href="#_ceilnumber-precision0">`_.ceil`</a> * <a href="#_dividedividend-divisor">`_.divide`</a> * <a href="#_floornumber-precision0">`_.floor`</a> * <a href="#_maxarray">`_.max`</a> * <a href="#_maxbyarray-iteratee_identity">`_.maxBy`</a> * <a href="#_meanarray">`_.mean`</a> * <a href="#_meanbyarray-iteratee_identity">`_.meanBy`</a> * <a href="#_minarray">`_.min`</a> * <a href="#_minbyarray-iteratee_identity">`_.minBy`</a> * <a href="#_multiplymultiplier-multiplicand">`_.multiply`</a> * <a href="#_roundnumber-precision0">`_.round`</a> * <a href="#_subtractminuend-subtrahend">`_.subtract`</a> * <a href="#_sumarray">`_.sum`</a> * <a href="#_sumbyarray-iteratee_identity">`_.sumBy`</a> <!-- /div --> <!-- div --> ## `Number` * <a href="#_clampnumber-lower-upper">`_.clamp`</a> * <a href="#_inrangenumber-start0-end">`_.inRange`</a> * <a href="#_randomlower0-upper1-floating">`_.random`</a> <!-- /div --> <!-- div --> ## `Object` * <a href="#_assignobject-sources">`_.assign`</a> * <a href="#_assigninobject-sources">`_.assignIn`</a> * <a href="#_assigninwithobject-sources-customizer">`_.assignInWith`</a> * <a href="#_assignwithobject-sources-customizer">`_.assignWith`</a> * <a href="#_atobject-paths">`_.at`</a> * <a href="#_createprototype-properties">`_.create`</a> * <a href="#_defaultsobject-sources">`_.defaults`</a> * <a href="#_defaultsdeepobject-sources">`_.defaultsDeep`</a> * <a href="#_topairsobject" class="alias">`_.entries` -> `toPairs`</a> * <a href="#_topairsinobject" class="alias">`_.entriesIn` -> `toPairsIn`</a> * <a href="#_assigninobject-sources" class="alias">`_.extend` -> `assignIn`</a> * <a href="#_assigninwithobject-sources-customizer" class="alias">`_.extendWith` -> `assignInWith`</a> * <a href="#_findkeyobject-predicate_identity">`_.findKey`</a> * <a href="#_findlastkeyobject-predicate_identity">`_.findLastKey`</a> * <a href="#_forinobject-iteratee_identity">`_.forIn`</a> * <a href="#_forinrightobject-iteratee_identity">`_.forInRight`</a> * <a href="#_forownobject-iteratee_identity">`_.forOwn`</a> * <a href="#_forownrightobject-iteratee_identity">`_.forOwnRight`</a> * <a href="#_functionsobject">`_.functions`</a> * <a href="#_functionsinobject">`_.functionsIn`</a> * <a href="#_getobject-path-defaultvalue">`_.get`</a> * <a href="#_hasobject-path">`_.has`</a> * <a href="#_hasinobject-path">`_.hasIn`</a> * <a href="#_invertobject">`_.invert`</a> * <a href="#_invertbyobject-iteratee_identity">`_.invertBy`</a> * <a href="#_invokeobject-path-args">`_.invoke`</a> * <a href="#_keysobject">`_.keys`</a> * <a href="#_keysinobject">`_.keysIn`</a> * <a href="#_mapkeysobject-iteratee_identity">`_.mapKeys`</a> * <a href="#_mapvaluesobject-iteratee_identity">`_.mapValues`</a> * <a href="#_mergeobject-sources">`_.merge`</a> * <a href="#_mergewithobject-sources-customizer">`_.mergeWith`</a> * <a href="#_omitobject-props">`_.omit`</a> * <a href="#_omitbyobject-predicate_identity">`_.omitBy`</a> * <a href="#_pickobject-props">`_.pick`</a> * <a href="#_pickbyobject-predicate_identity">`_.pickBy`</a> * <a href="#_resultobject-path-defaultvalue">`_.result`</a> * <a href="#_setobject-path-value">`_.set`</a> * <a href="#_setwithobject-path-value-customizer">`_.setWith`</a> * <a href="#_topairsobject">`_.toPairs`</a> * <a href="#_topairsinobject">`_.toPairsIn`</a> * <a href="#_transformobject-iteratee_identity-accumulator">`_.transform`</a> * <a href="#_unsetobject-path">`_.unset`</a> * <a href="#_updateobject-path-updater">`_.update`</a> * <a href="#_updatewithobject-path-updater-customizer">`_.updateWith`</a> * <a href="#_valuesobject">`_.values`</a> * <a href="#_valuesinobject">`_.valuesIn`</a> <!-- /div --> <!-- div --> ## `Seq` * <a href="#_value">`_`</a> * <a href="#_chainvalue">`_.chain`</a> * <a href="#_tapvalue-interceptor">`_.tap`</a> * <a href="#_thruvalue-interceptor">`_.thru`</a> * <a href="#_prototypesymboliterator">`_.prototype[Symbol.iterator]`</a> * <a href="#_prototypeatpaths">`_.prototype.at`</a> * <a href="#_prototypechain">`_.prototype.chain`</a> * <a href="#_prototypecommit">`_.prototype.commit`</a> * <a href="#_prototypenext">`_.prototype.next`</a> * <a href="#_prototypeplantvalue">`_.prototype.plant`</a> * <a href="#_prototypereverse">`_.prototype.reverse`</a> * <a href="#_prototypevalue" class="alias">`_.prototype.toJSON` -> `value`</a> * <a href="#_prototypevalue">`_.prototype.value`</a> * <a href="#_prototypevalue" class="alias">`_.prototype.valueOf` -> `value`</a> <!-- /div --> <!-- div --> ## `String` * <a href="#_camelcasestring">`_.camelCase`</a> * <a href="#_capitalizestring">`_.capitalize`</a> * <a href="#_deburrstring">`_.deburr`</a> * <a href="#_endswithstring-target-positionstringlength">`_.endsWith`</a> * <a href="#_escapestring">`_.escape`</a> * <a href="#_escaperegexpstring">`_.escapeRegExp`</a> * <a href="#_kebabcasestring">`_.kebabCase`</a> * <a href="#_lowercasestring">`_.lowerCase`</a> * <a href="#_lowerfirststring">`_.lowerFirst`</a> * <a href="#_padstring-length0-chars">`_.pad`</a> * <a href="#_padendstring-length0-chars">`_.padEnd`</a> * <a href="#_padstartstring-length0-chars">`_.padStart`</a> * <a href="#_parseintstring-radix10">`_.parseInt`</a> * <a href="#_repeatstring-n1">`_.repeat`</a> * <a href="#_replacestring-pattern-replacement">`_.replace`</a> * <a href="#_snakecasestring">`_.snakeCase`</a> * <a href="#_splitstring-separator-limit">`_.split`</a> * <a href="#_startcasestring">`_.startCase`</a> * <a href="#_startswithstring-target-position0">`_.startsWith`</a> * <a href="#_templatestring-options-optionsescape_templatesettingsescape-optionsevaluate_templatesettingsevaluate-optionsimports_templatesettingsimports-optionsinterpolate_templatesettingsinterpolate-optionssourceurllodashtemplatesourcesn-optionsvariableobj">`_.template`</a> * <a href="#_tolowerstring">`_.toLower`</a> * <a href="#_toupperstring">`_.toUpper`</a> * <a href="#_trimstring-charswhitespace">`_.trim`</a> * <a href="#_trimendstring-charswhitespace">`_.trimEnd`</a> * <a href="#_trimstartstring-charswhitespace">`_.trimStart`</a> * <a href="#_truncatestring-options-optionslength30-optionsomission-optionsseparator">`_.truncate`</a> * <a href="#_unescapestring">`_.unescape`</a> * <a href="#_uppercasestring">`_.upperCase`</a> * <a href="#_upperfirststring">`_.upperFirst`</a> * <a href="#_wordsstring-pattern">`_.words`</a> <!-- /div --> <!-- div --> ## `Util` * <a href="#_attemptfunc-args">`_.attempt`</a> * <a href="#_bindallobject-methodnames">`_.bindAll`</a> * <a href="#_condpairs">`_.cond`</a> * <a href="#_conformssource">`_.conforms`</a> * <a href="#_constantvalue">`_.constant`</a> * <a href="#_flowfuncs">`_.flow`</a> * <a href="#_flowrightfuncs">`_.flowRight`</a> * <a href="#_identityvalue">`_.identity`</a> * <a href="#_iterateefunc_identity">`_.iteratee`</a> * <a href="#_matchessource">`_.matches`</a> * <a href="#_matchespropertypath-srcvalue">`_.matchesProperty`</a> * <a href="#_methodpath-args">`_.method`</a> * <a href="#_methodofobject-args">`_.methodOf`</a> * <a href="#_mixinobjectlodash-source-options-optionschaintrue">`_.mixin`</a> * <a href="#_noconflict">`_.noConflict`</a> * <a href="#_noop">`_.noop`</a> * <a href="#_nthargn0">`_.nthArg`</a> * <a href="#_overiteratees_identity">`_.over`</a> * <a href="#_overeverypredicates_identity">`_.overEvery`</a> * <a href="#_oversomepredicates_identity">`_.overSome`</a> * <a href="#_propertypath">`_.property`</a> * <a href="#_propertyofobject">`_.propertyOf`</a> * <a href="#_rangestart0-end-step1">`_.range`</a> * <a href="#_rangerightstart0-end-step1">`_.rangeRight`</a> * <a href="#_runincontextcontextroot">`_.runInContext`</a> * <a href="#_stubarray">`_.stubArray`</a> * <a href="#_stubfalse">`_.stubFalse`</a> * <a href="#_stubobject">`_.stubObject`</a> * <a href="#_stubstring">`_.stubString`</a> * <a href="#_stubtrue">`_.stubTrue`</a> * <a href="#_timesn-iteratee_identity">`_.times`</a> * <a href="#_topathvalue">`_.toPath`</a> * <a href="#_uniqueidprefix">`_.uniqueId`</a> <!-- /div --> <!-- div --> ## `Properties` * <a href="#_version">`_.VERSION`</a> * <a href="#_templatesettings">`_.templateSettings`</a> * <a href="#_templatesettingsescape">`_.templateSettings.escape`</a> * <a href="#_templatesettingsevaluate">`_.templateSettings.evaluate`</a> * <a href="#_templatesettingsimports">`_.templateSettings.imports`</a> * <a href="#_templatesettingsinterpolate">`_.templateSettings.interpolate`</a> * <a href="#_templatesettingsvariable">`_.templateSettings.variable`</a> <!-- /div --> <!-- div --> ## `Methods` * <a href="#_templatesettingsimports_">`_.templateSettings.imports._`</a> <!-- /div --> <!-- /div --> <!-- div class="doc-container" --> <!-- div --> ## `“Array” Methods` <!-- div --> ### <a id="_chunkarray-size1"></a>`_.chunk(array, [size=1])` <a href="#_chunkarray-size1">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6118 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.chunk "See the npm package") Creates an array of elements split into groups the length of `size`. If `array` can't be split evenly, the final chunk will be the remaining elements. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to process. 2. `[size=1]` *(number)*: The length of each chunk #### Returns *(Array)*: Returns the new array of chunks. #### Example ```js _.chunk(['a', 'b', 'c', 'd'], 2); // => [['a', 'b'], ['c', 'd']] _.chunk(['a', 'b', 'c', 'd'], 3); // => [['a', 'b', 'c'], ['d']] ``` * * * <!-- /div --> <!-- div --> ### <a id="_compactarray"></a>`_.compact(array)` <a href="#_compactarray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6153 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.compact "See the npm package") Creates an array with all falsey values removed. The values `false`, `null`, `0`, `""`, `undefined`, and `NaN` are falsey. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to compact. #### Returns *(Array)*: Returns the new array of filtered values. #### Example ```js _.compact([0, 1, false, 2, '', 3]); // => [1, 2, 3] ``` * * * <!-- /div --> <!-- div --> ### <a id="_concatarray-values"></a>`_.concat(array, [values])` <a href="#_concatarray-values">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6190 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.concat "See the npm package") Creates a new array concatenating `array` with any additional arrays and/or values. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to concatenate. 2. `[values]` *(...&#42;)*: The values to concatenate. #### Returns *(Array)*: Returns the new concatenated array. #### Example ```js var array = [1]; var other = _.concat(array, 2, [3], [[4]]); console.log(other); // => [1, 2, 3, [4]] console.log(array); // => [1] ``` * * * <!-- /div --> <!-- div --> ### <a id="_differencearray-values"></a>`_.difference(array, [values])` <a href="#_differencearray-values">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6223 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.difference "See the npm package") Creates an array of unique `array` values not included in the other given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) for equality comparisons. The order of result values is determined by the order they occur in the first array. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to inspect. 2. `[values]` *(...Array)*: The values to exclude. #### Returns *(Array)*: Returns the new array of filtered values. #### Example ```js _.difference([2, 1], [2, 3]); // => [1] ``` * * * <!-- /div --> <!-- div --> ### <a id="_differencebyarray-values-iteratee_identity"></a>`_.differenceBy(array, [values], [iteratee=_.identity])` <a href="#_differencebyarray-values-iteratee_identity">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6253 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.differenceby "See the npm package") This method is like `_.difference` except that it accepts `iteratee` which is invoked for each element of `array` and `values` to generate the criterion by which they're compared. Result values are chosen from the first array. The iteratee is invoked with one argument: *(value)*. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to inspect. 2. `[values]` *(...Array)*: The values to exclude. 3. `[iteratee=_.identity]` *(Array|Function|Object|string)*: The iteratee invoked per element. #### Returns *(Array)*: Returns the new array of filtered values. #### Example ```js _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // => [1.2] // The `_.property` iteratee shorthand. _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); // => [{ 'x': 2 }] ``` * * * <!-- /div --> <!-- div --> ### <a id="_differencewitharray-values-comparator"></a>`_.differenceWith(array, [values], [comparator])` <a href="#_differencewitharray-values-comparator">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6284 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.differencewith "See the npm package") This method is like `_.difference` except that it accepts `comparator` which is invoked to compare elements of `array` to `values`. Result values are chosen from the first array. The comparator is invoked with two arguments:<br> *(arrVal, othVal)*. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to inspect. 2. `[values]` *(...Array)*: The values to exclude. 3. `[comparator]` *(Function)*: The comparator invoked per element. #### Returns *(Array)*: Returns the new array of filtered values. #### Example ```js var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); // => [{ 'x': 2, 'y': 1 }] ``` * * * <!-- /div --> <!-- div --> ### <a id="_droparray-n1"></a>`_.drop(array, [n=1])` <a href="#_droparray-n1">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6319 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.drop "See the npm package") Creates a slice of `array` with `n` elements dropped from the beginning. #### Since 0.5.0 #### Arguments 1. `array` *(Array)*: The array to query. 2. `[n=1]` *(number)*: The number of elements to drop. #### Returns *(Array)*: Returns the slice of `array`. #### Example ```js _.drop([1, 2, 3]); // => [2, 3] _.drop([1, 2, 3], 2); // => [3] _.drop([1, 2, 3], 5); // => [] _.drop([1, 2, 3], 0); // => [1, 2, 3] ``` * * * <!-- /div --> <!-- div --> ### <a id="_droprightarray-n1"></a>`_.dropRight(array, [n=1])` <a href="#_droprightarray-n1">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6353 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.dropright "See the npm package") Creates a slice of `array` with `n` elements dropped from the end. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to query. 2. `[n=1]` *(number)*: The number of elements to drop. #### Returns *(Array)*: Returns the slice of `array`. #### Example ```js _.dropRight([1, 2, 3]); // => [1, 2] _.dropRight([1, 2, 3], 2); // => [1] _.dropRight([1, 2, 3], 5); // => [] _.dropRight([1, 2, 3], 0); // => [1, 2, 3] ``` * * * <!-- /div --> <!-- div --> ### <a id="_droprightwhilearray-predicate_identity"></a>`_.dropRightWhile(array, [predicate=_.identity])` <a href="#_droprightwhilearray-predicate_identity">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6399 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") Creates a slice of `array` excluding elements dropped from the end. Elements are dropped until `predicate` returns falsey. The predicate is invoked with three arguments: *(value, index, array)*. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to query. 2. `[predicate=_.identity]` *(Array|Function|Object|string)*: The function invoked per iteration. #### Returns *(Array)*: Returns the slice of `array`. #### Example ```js var users = [ { 'user': 'barney', 'active': true }, { 'user': 'fred', 'active': false }, { 'user': 'pebbles', 'active': false } ]; _.dropRightWhile(users, function(o) { return !o.active; }); // => objects for ['barney'] // The `_.matches` iteratee shorthand. _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); // => objects for ['barney', 'fred'] // The `_.matchesProperty` iteratee shorthand. _.dropRightWhile(users, ['active', false]); // => objects for ['barney'] // The `_.property` iteratee shorthand. _.dropRightWhile(users, 'active'); // => objects for ['barney', 'fred', 'pebbles'] ``` * * * <!-- /div --> <!-- div --> ### <a id="_dropwhilearray-predicate_identity"></a>`_.dropWhile(array, [predicate=_.identity])` <a href="#_dropwhilearray-predicate_identity">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6441 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") Creates a slice of `array` excluding elements dropped from the beginning. Elements are dropped until `predicate` returns falsey. The predicate is invoked with three arguments: *(value, index, array)*. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to query. 2. `[predicate=_.identity]` *(Array|Function|Object|string)*: The function invoked per iteration. #### Returns *(Array)*: Returns the slice of `array`. #### Example ```js var users = [ { 'user': 'barney', 'active': false }, { 'user': 'fred', 'active': false }, { 'user': 'pebbles', 'active': true } ]; _.dropWhile(users, function(o) { return !o.active; }); // => objects for ['pebbles'] // The `_.matches` iteratee shorthand. _.dropWhile(users, { 'user': 'barney', 'active': false }); // => objects for ['fred', 'pebbles'] // The `_.matchesProperty` iteratee shorthand. _.dropWhile(users, ['active', false]); // => objects for ['pebbles'] // The `_.property` iteratee shorthand. _.dropWhile(users, 'active'); // => objects for ['barney', 'fred', 'pebbles'] ``` * * * <!-- /div --> <!-- div --> ### <a id="_fillarray-value-start0-endarraylength"></a>`_.fill(array, value, [start=0], [end=array.length])` <a href="#_fillarray-value-start0-endarraylength">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6476 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.fill "See the npm package") Fills elements of `array` with `value` from `start` up to, but not including, `end`. <br> <br> **Note:** This method mutates `array`. #### Since 3.2.0 #### Arguments 1. `array` *(Array)*: The array to fill. 2. `value` *(&#42;)*: The value to fill `array` with. 3. `[start=0]` *(number)*: The start position. 4. `[end=array.length]` *(number)*: The end position. #### Returns *(Array)*: Returns `array`. #### Example ```js var array = [1, 2, 3]; _.fill(array, 'a'); console.log(array); // => ['a', 'a', 'a'] _.fill(Array(3), 2); // => [2, 2, 2] _.fill([4, 6, 8, 10], '*', 1, 3); // => [4, '*', '*', 10] ``` * * * <!-- /div --> <!-- div --> ### <a id="_findindexarray-predicate_identity-fromindex0"></a>`_.findIndex(array, [predicate=_.identity], [fromIndex=0])` <a href="#_findindexarray-predicate_identity-fromindex0">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6524 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.findindex "See the npm package") This method is like `_.find` except that it returns the index of the first element `predicate` returns truthy for instead of the element itself. #### Since 1.1.0 #### Arguments 1. `array` *(Array)*: The array to search. 2. `[predicate=_.identity]` *(Array|Function|Object|string)*: The function invoked per iteration. 3. `[fromIndex=0]` *(number)*: The index to search from. #### Returns *(number)*: Returns the index of the found element, else `-1`. #### Example ```js var users = [ { 'user': 'barney', 'active': false }, { 'user': 'fred', 'active': false }, { 'user': 'pebbles', 'active': true } ]; _.findIndex(users, function(o) { return o.user == 'barney'; }); // => 0 // The `_.matches` iteratee shorthand. _.findIndex(users, { 'user': 'fred', 'active': false }); // => 1 // The `_.matchesProperty` iteratee shorthand. _.findIndex(users, ['active', false]); // => 0 // The `_.property` iteratee shorthand. _.findIndex(users, 'active'); // => 2 ``` * * * <!-- /div --> <!-- div --> ### <a id="_findlastindexarray-predicate_identity-fromindexarraylength-1"></a>`_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1])` <a href="#_findlastindexarray-predicate_identity-fromindexarraylength-1">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6572 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") This method is like `_.findIndex` except that it iterates over elements of `collection` from right to left. #### Since 2.0.0 #### Arguments 1. `array` *(Array)*: The array to search. 2. `[predicate=_.identity]` *(Array|Function|Object|string)*: The function invoked per iteration. 3. `[fromIndex=array.length-1]` *(number)*: The index to search from. #### Returns *(number)*: Returns the index of the found element, else `-1`. #### Example ```js var users = [ { 'user': 'barney', 'active': true }, { 'user': 'fred', 'active': false }, { 'user': 'pebbles', 'active': false } ]; _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); // => 2 // The `_.matches` iteratee shorthand. _.findLastIndex(users, { 'user': 'barney', 'active': true }); // => 0 // The `_.matchesProperty` iteratee shorthand. _.findLastIndex(users, ['active', false]); // => 2 // The `_.property` iteratee shorthand. _.findLastIndex(users, 'active'); // => 0 ``` * * * <!-- /div --> <!-- div --> ### <a id="_flattenarray"></a>`_.flatten(array)` <a href="#_flattenarray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6601 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.flatten "See the npm package") Flattens `array` a single level deep. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to flatten. #### Returns *(Array)*: Returns the new flattened array. #### Example ```js _.flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5] ``` * * * <!-- /div --> <!-- div --> ### <a id="_flattendeeparray"></a>`_.flattenDeep(array)` <a href="#_flattendeeparray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6620 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") Recursively flattens `array`. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to flatten. #### Returns *(Array)*: Returns the new flattened array. #### Example ```js _.flattenDeep([1, [2, [3, [4]], 5]]); // => [1, 2, 3, 4, 5] ``` * * * <!-- /div --> <!-- div --> ### <a id="_flattendeptharray-depth1"></a>`_.flattenDepth(array, [depth=1])` <a href="#_flattendeptharray-depth1">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6645 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") Recursively flatten `array` up to `depth` times. #### Since 4.4.0 #### Arguments 1. `array` *(Array)*: The array to flatten. 2. `[depth=1]` *(number)*: The maximum recursion depth. #### Returns *(Array)*: Returns the new flattened array. #### Example ```js var array = [1, [2, [3, [4]], 5]]; _.flattenDepth(array, 1); // => [1, 2, [3, [4]], 5] _.flattenDepth(array, 2); // => [1, 2, 3, [4], 5] ``` * * * <!-- /div --> <!-- div --> ### <a id="_frompairspairs"></a>`_.fromPairs(pairs)` <a href="#_frompairspairs">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6669 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.frompairs "See the npm package") The inverse of `_.toPairs`; this method returns an object composed from key-value `pairs`. #### Since 4.0.0 #### Arguments 1. `pairs` *(Array)*: The key-value pairs. #### Returns *(Object)*: Returns the new object. #### Example ```js _.fromPairs([['fred', 30], ['barney', 40]]); // => { 'fred': 30, 'barney': 40 } ``` * * * <!-- /div --> <!-- div --> ### <a id="_headarray"></a>`_.head(array)` <a href="#_headarray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6699 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.head "See the npm package") Gets the first element of `array`. #### Since 0.1.0 #### Aliases *_.first* #### Arguments 1. `array` *(Array)*: The array to query. #### Returns *(&#42;)*: Returns the first element of `array`. #### Example ```js _.head([1, 2, 3]); // => 1 _.head([]); // => undefined ``` * * * <!-- /div --> <!-- div --> ### <a id="_indexofarray-value-fromindex0"></a>`_.indexOf(array, value, [fromIndex=0])` <a href="#_indexofarray-value-fromindex0">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6726 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.indexof "See the npm package") Gets the index at which the first occurrence of `value` is found in `array` using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) for equality comparisons. If `fromIndex` is negative, it's used as the offset from the end of `array`. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to search. 2. `value` *(&#42;)*: The value to search for. 3. `[fromIndex=0]` *(number)*: The index to search from. #### Returns *(number)*: Returns the index of the matched value, else `-1`. #### Example ```js _.indexOf([1, 2, 1, 2], 2); // => 1 // Search from the `fromIndex`. _.indexOf([1, 2, 1, 2], 2, 2); // => 3 ``` * * * <!-- /div --> <!-- div --> ### <a id="_initialarray"></a>`_.initial(array)` <a href="#_initialarray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6752 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.initial "See the npm package") Gets all but the last element of `array`. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to query. #### Returns *(Array)*: Returns the slice of `array`. #### Example ```js _.initial([1, 2, 3]); // => [1, 2] ``` * * * <!-- /div --> <!-- div --> ### <a id="_intersectionarrays"></a>`_.intersection([arrays])` <a href="#_intersectionarrays">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6773 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.intersection "See the npm package") Creates an array of unique values that are included in all given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) for equality comparisons. The order of result values is determined by the order they occur in the first array. #### Since 0.1.0 #### Arguments 1. `[arrays]` *(...Array)*: The arrays to inspect. #### Returns *(Array)*: Returns the new array of intersecting values. #### Example ```js _.intersection([2, 1], [2, 3]); // => [2] ``` * * * <!-- /div --> <!-- div --> ### <a id="_intersectionbyarrays-iteratee_identity"></a>`_.intersectionBy([arrays], [iteratee=_.identity])` <a href="#_intersectionbyarrays-iteratee_identity">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6803 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") This method is like `_.intersection` except that it accepts `iteratee` which is invoked for each element of each `arrays` to generate the criterion by which they're compared. Result values are chosen from the first array. The iteratee is invoked with one argument: *(value)*. #### Since 4.0.0 #### Arguments 1. `[arrays]` *(...Array)*: The arrays to inspect. 2. `[iteratee=_.identity]` *(Array|Function|Object|string)*: The iteratee invoked per element. #### Returns *(Array)*: Returns the new array of intersecting values. #### Example ```js _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); // => [2.1] // The `_.property` iteratee shorthand. _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); // => [{ 'x': 1 }] ``` * * * <!-- /div --> <!-- div --> ### <a id="_intersectionwitharrays-comparator"></a>`_.intersectionWith([arrays], [comparator])` <a href="#_intersectionwitharrays-comparator">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6838 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") This method is like `_.intersection` except that it accepts `comparator` which is invoked to compare elements of `arrays`. Result values are chosen from the first array. The comparator is invoked with two arguments:<br> *(arrVal, othVal)*. #### Since 4.0.0 #### Arguments 1. `[arrays]` *(...Array)*: The arrays to inspect. 2. `[comparator]` *(Function)*: The comparator invoked per element. #### Returns *(Array)*: Returns the new array of intersecting values. #### Example ```js var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; _.intersectionWith(objects, others, _.isEqual); // => [{ 'x': 1, 'y': 2 }] ``` * * * <!-- /div --> <!-- div --> ### <a id="_joinarray-separator-"></a>`_.join(array, [separator=','])` <a href="#_joinarray-separator-">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6867 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.join "See the npm package") Converts all elements in `array` into a string separated by `separator`. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to convert. 2. `[separator=',']` *(string)*: The element separator. #### Returns *(string)*: Returns the joined string. #### Example ```js _.join(['a', 'b', 'c'], '~'); // => 'a~b~c' ``` * * * <!-- /div --> <!-- div --> ### <a id="_lastarray"></a>`_.last(array)` <a href="#_lastarray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6885 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.last "See the npm package") Gets the last element of `array`. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to query. #### Returns *(&#42;)*: Returns the last element of `array`. #### Example ```js _.last([1, 2, 3]); // => 3 ``` * * * <!-- /div --> <!-- div --> ### <a id="_lastindexofarray-value-fromindexarraylength-1"></a>`_.lastIndexOf(array, value, [fromIndex=array.length-1])` <a href="#_lastindexofarray-value-fromindexarraylength-1">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6911 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") This method is like `_.indexOf` except that it iterates over elements of `array` from right to left. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The array to search. 2. `value` *(&#42;)*: The value to search for. 3. `[fromIndex=array.length-1]` *(number)*: The index to search from. #### Returns *(number)*: Returns the index of the matched value, else `-1`. #### Example ```js _.lastIndexOf([1, 2, 1, 2], 2); // => 3 // Search from the `fromIndex`. _.lastIndexOf([1, 2, 1, 2], 2, 2); // => 1 ``` * * * <!-- /div --> <!-- div --> ### <a id="_ntharray-n0"></a>`_.nth(array, [n=0])` <a href="#_ntharray-n0">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6957 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.nth "See the npm package") Gets the element at index `n` of `array`. If `n` is negative, the nth element from the end is returned. #### Since 4.11.0 #### Arguments 1. `array` *(Array)*: The array to query. 2. `[n=0]` *(number)*: The index of the element to return. #### Returns *(&#42;)*: Returns the nth element of `array`. #### Example ```js var array = ['a', 'b', 'c', 'd']; _.nth(array, 1); // => 'b' _.nth(array, -2); // => 'c'; ``` * * * <!-- /div --> <!-- div --> ### <a id="_pullarray-values"></a>`_.pull(array, [values])` <a href="#_pullarray-values">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L6984 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.pull "See the npm package") Removes all given values from `array` using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) for equality comparisons. <br> <br> **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` to remove elements from an array by predicate. #### Since 2.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. 2. `[values]` *(...&#42;)*: The values to remove. #### Returns *(Array)*: Returns `array`. #### Example ```js var array = ['a', 'b', 'c', 'a', 'b', 'c']; _.pull(array, 'a', 'c'); console.log(array); // => ['b', 'b'] ``` * * * <!-- /div --> <!-- div --> ### <a id="_pullallarray-values"></a>`_.pullAll(array, values)` <a href="#_pullallarray-values">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7006 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.pullall "See the npm package") This method is like `_.pull` except that it accepts an array of values to remove. <br> <br> **Note:** Unlike `_.difference`, this method mutates `array`. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. 2. `values` *(Array)*: The values to remove. #### Returns *(Array)*: Returns `array`. #### Example ```js var array = ['a', 'b', 'c', 'a', 'b', 'c']; _.pullAll(array, ['a', 'c']); console.log(array); // => ['b', 'b'] ``` * * * <!-- /div --> <!-- div --> ### <a id="_pullallbyarray-values-iteratee_identity"></a>`_.pullAllBy(array, values, [iteratee=_.identity])` <a href="#_pullallbyarray-values-iteratee_identity">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7036 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.pullallby "See the npm package") This method is like `_.pullAll` except that it accepts `iteratee` which is invoked for each element of `array` and `values` to generate the criterion by which they're compared. The iteratee is invoked with one argument: *(value)*. <br> <br> **Note:** Unlike `_.differenceBy`, this method mutates `array`. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. 2. `values` *(Array)*: The values to remove. 3. `[iteratee=_.identity]` *(Array|Function|Object|string)*: The iteratee invoked per element. #### Returns *(Array)*: Returns `array`. #### Example ```js var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); console.log(array); // => [{ 'x': 2 }] ``` * * * <!-- /div --> <!-- div --> ### <a id="_pullallwitharray-values-comparator"></a>`_.pullAllWith(array, values, [comparator])` <a href="#_pullallwitharray-values-comparator">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7065 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") This method is like `_.pullAll` except that it accepts `comparator` which is invoked to compare elements of `array` to `values`. The comparator is invoked with two arguments: *(arrVal, othVal)*. <br> <br> **Note:** Unlike `_.differenceWith`, this method mutates `array`. #### Since 4.6.0 #### Arguments 1. `array` *(Array)*: The array to modify. 2. `values` *(Array)*: The values to remove. 3. `[comparator]` *(Function)*: The comparator invoked per element. #### Returns *(Array)*: Returns `array`. #### Example ```js var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); console.log(array); // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] ``` * * * <!-- /div --> <!-- div --> ### <a id="_pullatarray-indexes"></a>`_.pullAt(array, [indexes])` <a href="#_pullatarray-indexes">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7095 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.pullat "See the npm package") Removes elements from `array` corresponding to `indexes` and returns an array of removed elements. <br> <br> **Note:** Unlike `_.at`, this method mutates `array`. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. 2. `[indexes]` *(...(number|number&#91;&#93;))*: The indexes of elements to remove. #### Returns *(Array)*: Returns the new array of removed elements. #### Example ```js var array = ['a', 'b', 'c', 'd']; var pulled = _.pullAt(array, [1, 3]); console.log(array); // => ['a', 'c'] console.log(pulled); // => ['b', 'd'] ``` * * * <!-- /div --> <!-- div --> ### <a id="_removearray-predicate_identity"></a>`_.remove(array, [predicate=_.identity])` <a href="#_removearray-predicate_identity">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7137 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.remove "See the npm package") Removes all elements from `array` that `predicate` returns truthy for and returns an array of the removed elements. The predicate is invoked with three arguments: *(value, index, array)*. <br> <br> **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` to pull elements from an array by value. #### Since 2.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. 2. `[predicate=_.identity]` *(Array|Function|Object|string)*: The function invoked per iteration. #### Returns *(Array)*: Returns the new array of removed elements. #### Example ```js var array = [1, 2, 3, 4]; var evens = _.remove(array, function(n) { return n % 2 == 0; }); console.log(array); // => [1, 3] console.log(evens); // => [2, 4] ``` * * * <!-- /div --> <!-- div --> ### <a id="_reversearray"></a>`_.reverse(array)` <a href="#_reversearray">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7181 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.reverse "See the npm package") Reverses `array` so that the first element becomes the last, the second element becomes the second to last, and so on. <br> <br> **Note:** This method mutates `array` and is based on [`Array#reverse`](https://mdn.io/Array/reverse). #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to modify. #### Returns *(Array)*: Returns `array`. #### Example ```js var array = [1, 2, 3]; _.reverse(array); // => [3, 2, 1] console.log(array); // => [3, 2, 1] ``` * * * <!-- /div --> <!-- div --> ### <a id="_slicearray-start0-endarraylength"></a>`_.slice(array, [start=0], [end=array.length])` <a href="#_slicearray-start0-endarraylength">#</a> [&#x24C8;](https://github.com/lodash/lodash/blob/4.13.1/lodash.js#L7201 "View in source") [&#x24C9;][1] [&#x24C3;](https://www.npmjs.com/package/lodash.slice "See the npm package") Creates a slice of `array` from `start` up to, but not including, `end`. <br> <br> **Note:** This method is used instead of [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are returned. #### Since 3.0.0 #### Arguments 1. `array` *(Array)*: The array to slice. 2. `[start=0]` *(number)*: The start position. 3. `[end=array.length]` *(number)*: The end position. #### Returns *(Array)*: Returns the slice of `array`. * * * <!-- /div --> <!-- div --> ### <a id="_sortedindexarray-value"></a>`_.sortedIndex(array, val