UNPKG

arrow-admin

Version:
1,628 lines (1,241 loc) 293 kB
# <a href="https://lodash.com/">lodash</a> <span>v4.17.4</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">`_.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-transforms_identity">`_.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">`_.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="#_conformstoobject-source">`_.conformsTo`</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-paths">`_.omit`</a> * <a href="#_omitbyobject-predicate_identity">`_.omitBy`</a> * <a href="#_pickobject-paths">`_.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">`_.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">`_.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="#_defaulttovalue-defaultvalue">`_.defaultTo`</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">`_.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 --> <h3 id="_chunkarray-size1"><code>_.chunk(array, [size=1])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L6856 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.chunk "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_compactarray"><code>_.compact(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L6891 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.compact "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_concatarray-values"><code>_.concat(array, [values])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L6928 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.concat "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_differencearray-values"><code>_.difference(array, [values])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L6964 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.difference "See the npm package") [&#x24C9;][1] Creates an array of `array` values not included in the other given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) for equality comparisons. The order and references of result values are determined by the first array. <br> <br> **Note:** Unlike `_.pullAll`, this method returns a new 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 --> <h3 id="_differencebyarray-values-iteratee_identity"><code>_.differenceBy(array, [values], [iteratee=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L6996 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.differenceby "See the npm package") [&#x24C9;][1] 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. The order and references of result values are determined by the first array. The iteratee is invoked with one argument:<br> *(value)*. <br> <br> **Note:** Unlike `_.pullAllBy`, this method returns a new array. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The array to inspect. 2. `[values]` *(...Array)*: The values to exclude. 3. `[iteratee=_.identity]` *(Function)*: 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 --> <h3 id="_differencewitharray-values-comparator"><code>_.differenceWith(array, [values], [comparator])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7029 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.differencewith "See the npm package") [&#x24C9;][1] This method is like `_.difference` except that it accepts `comparator` which is invoked to compare elements of `array` to `values`. The order and references of result values are determined by the first array. The comparator is invoked with two arguments: *(arrVal, othVal)*. <br> <br> **Note:** Unlike `_.pullAllWith`, this method returns a new array. #### 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 --> <h3 id="_droparray-n1"><code>_.drop(array, [n=1])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7064 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.drop "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_droprightarray-n1"><code>_.dropRight(array, [n=1])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7098 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.dropright "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_droprightwhilearray-predicate_identity"><code>_.dropRightWhile(array, [predicate=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7143 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.droprightwhile "See the npm package") [&#x24C9;][1] 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]` *(Function)*: 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 --> <h3 id="_dropwhilearray-predicate_identity"><code>_.dropWhile(array, [predicate=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7184 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.dropwhile "See the npm package") [&#x24C9;][1] 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]` *(Function)*: 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 --> <h3 id="_fillarray-value-start0-endarraylength"><code>_.fill(array, value, [start=0], [end=array.length])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7219 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.fill "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_findindexarray-predicate_identity-fromindex0"><code>_.findIndex(array, [predicate=_.identity], [fromIndex=0])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7266 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.findindex "See the npm package") [&#x24C9;][1] 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 inspect. 2. `[predicate=_.identity]` *(Function)*: 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 --> <h3 id="_findlastindexarray-predicate_identity-fromindexarraylength-1"><code>_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7313 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.findlastindex "See the npm package") [&#x24C9;][1] 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 inspect. 2. `[predicate=_.identity]` *(Function)*: 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 --> <h3 id="_flattenarray"><code>_.flatten(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7342 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.flatten "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_flattendeeparray"><code>_.flattenDeep(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7361 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.flattendeep "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_flattendeptharray-depth1"><code>_.flattenDepth(array, [depth=1])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7386 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.flattendepth "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_frompairspairs"><code>_.fromPairs(pairs)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7410 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.frompairs "See the npm package") [&#x24C9;][1] 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([['a', 1], ['b', 2]]); // => { 'a': 1, 'b': 2 } ``` --- <!-- /div --> <!-- div --> <h3 id="_headarray"><code>_.head(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7440 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.head "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_indexofarray-value-fromindex0"><code>_.indexOf(array, value, [fromIndex=0])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7467 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.indexof "See the npm package") [&#x24C9;][1] Gets the index at which the first occurrence of `value` is found in `array` using [`SameValueZero`](http://ecma-international.org/ecma-262/7.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 inspect. 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 --> <h3 id="_initialarray"><code>_.initial(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7493 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.initial "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_intersectionarrays"><code>_.intersection([arrays])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7515 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.intersection "See the npm package") [&#x24C9;][1] Creates an array of unique values that are included in all given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) for equality comparisons. The order and references of result values are determined by 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 --> <h3 id="_intersectionbyarrays-iteratee_identity"><code>_.intersectionBy([arrays], [iteratee=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7545 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.intersectionby "See the npm package") [&#x24C9;][1] 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. The order and references of result values are determined by the first array. The iteratee is invoked with one argument:<br> *(value)*. #### Since 4.0.0 #### Arguments 1. `[arrays]` *(...Array)*: The arrays to inspect. 2. `[iteratee=_.identity]` *(Function)*: 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 --> <h3 id="_intersectionwitharrays-comparator"><code>_.intersectionWith([arrays], [comparator])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7580 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.intersectionwith "See the npm package") [&#x24C9;][1] This method is like `_.intersection` except that it accepts `comparator` which is invoked to compare elements of `arrays`. The order and references of result values are determined by the first array. The comparator is invoked with two arguments: *(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 --> <h3 id="_joinarray-separator-"><code>_.join(array, [separator=','])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7608 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.join "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_lastarray"><code>_.last(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7626 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.last "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_lastindexofarray-value-fromindexarraylength-1"><code>_.lastIndexOf(array, value, [fromIndex=array.length-1])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7652 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.lastindexof "See the npm package") [&#x24C9;][1] 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 inspect. 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 --> <h3 id="_ntharray-n0"><code>_.nth(array, [n=0])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7688 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.nth "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_pullarray-values"><code>_.pull(array, [values])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7715 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.pull "See the npm package") [&#x24C9;][1] Removes all given values from `array` using [`SameValueZero`](http://ecma-international.org/ecma-262/7.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 --> <h3 id="_pullallarray-values"><code>_.pullAll(array, values)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7737 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.pullall "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_pullallbyarray-values-iteratee_identity"><code>_.pullAllBy(array, values, [iteratee=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7766 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.pullallby "See the npm package") [&#x24C9;][1] 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]` *(Function)*: 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 --> <h3 id="_pullallwitharray-values-comparator"><code>_.pullAllWith(array, values, [comparator])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7795 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.pullallwith "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_pullatarray-indexes"><code>_.pullAt(array, [indexes])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7825 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.pullat "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_removearray-predicate_identity"><code>_.remove(array, [predicate=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7864 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.remove "See the npm package") [&#x24C9;][1] 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]` *(Function)*: 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 --> <h3 id="_reversearray"><code>_.reverse(array)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7908 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.reverse "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_slicearray-start0-endarraylength"><code>_.slice(array, [start=0], [end=array.length])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7928 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.slice "See the npm package") [&#x24C9;][1] 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 --> <h3 id="_sortedindexarray-value"><code>_.sortedIndex(array, value)</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7961 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.sortedindex "See the npm package") [&#x24C9;][1] Uses a binary search to determine the lowest index at which `value` should be inserted into `array` in order to maintain its sort order. #### Since 0.1.0 #### Arguments 1. `array` *(Array)*: The sorted array to inspect. 2. `value` *(&#42;)*: The value to evaluate. #### Returns *(number)*: Returns the index at which `value` should be inserted into `array`. #### Example ```js _.sortedIndex([30, 50], 40); // => 1 ``` --- <!-- /div --> <!-- div --> <h3 id="_sortedindexbyarray-value-iteratee_identity"><code>_.sortedIndexBy(array, value, [iteratee=_.identity])</code></h3> [&#x24C8;](https://github.com/lodash/lodash/blob/4.17.4/lodash.js#L7990 "View in source") [&#x24C3;](https://www.npmjs.com/package/lodash.sortedindexby "See the npm package") [&#x24C9;][1] This method is like `_.sortedIndex` except that it accepts `iteratee` which is invoked for `value` and each element of `array` to compute their sort ranking. The iteratee is invoked with one argument: *(value)*. #### Since 4.0.0 #### Arguments 1. `array` *(Array)*: The sorted array to inspect. 2. `value` *(&#42;)*: The value to evaluate. 3. `[iteratee=_.identity]` *(Function)*: The iter