
Security News
Open VSX Begins Implementing Pre-Publish Security Checks After Repeated Supply Chain Incidents
Following multiple malicious extension incidents, Open VSX outlines new safeguards designed to catch risky uploads earlier.

Simple JavaScript utilities for working with arrays.
Install with npm:
npm i arr --save-dev
var utils = require('arr');
Filter array, returning only the values of the given type.
array {Array}type {String}: Native type, e.g. string, objectreturns: {Boolean}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
utils.filterType(arr, 'object');
//=> [{a: 'b'}, {c: 'd'}]
Filter array, returning only the numbers.
array {Array}index {Array}: Optionally specify the index of the number to return, otherwise all numbers are returned.returns: {Array}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
utils.numbers(arr);
//=> [1, 2]
Filter array, returning only the strings.
array {Array}index {Array}: Optionally specify the index of the string to return, otherwise all strings are returned.returns: {Array}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
utils.strings(arr);
//=> ['a', 'b', 'c']
Filter array, returning only the objects.
array {Array}index {Array}: Optionally specify the index of the object to return, otherwise all objects are returned.returns: {Array}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
utils.objects(arr);
//=> [{a: 'b'}, {c: 'd'}]
Filter array, returning only the functions.
array {Array}index {Array}: Optionally specify the index of the function to return, otherwise all functions are returned.returns: {Array}var one = function() {};
var two = function() {};
var arr = ['a', {a: 'b'}, 1, one, 'b', 2, {c: 'd'}, two, 'c'];
utils.functions(arr);
//=> [one, two]
Filter array, returning only the arrays.
array {Array}index {Array}: Optionally specify the index of the array to return, otherwise all arrays are returned.returns: {Array}var arr = ['a', ['aaa'], 1, 'b', ['bbb'], 2, {c: 'd'}, 'c'];
utils.objects(arr);
//=> [['aaa'], ['bbb']]
Get the first element in array. Included for completeness.
array {Array}returns: {*}var arr = ['a', {a: 'b'}, 1, one, 'b', 2, {c: 'd'}, two, 'c'];
utils.functions(arr);
//=> 'a'
Get the last element in array.
array {Array}returns: {*}var arr = ['a', {a: 'b'}, 1, one, 'b', 2, {c: 'd'}, two, 'c'];
utils.functions(arr);
//=> 'c'
`
## [lastOfType](index.js#L234)
Get the last element in `array` of the given `type`.
* `array` **{Array}**
* `type` **{String}**: The native type to get.
* `returns`: {*}
```js
var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
lastOfType(arr, 'number');
//=> 2
Get the first element in array of the given type.
array {Array}type {String}: The native type to get.returns: {*}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
firstOfType(arr, 'number');
//=> 1
Returns true if the last element in array is the given type.
array {Array}type {String}: The native type to check.returns: {Boolean}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
lastIsType(arr, 'number');
//=> false
Returns true if the first element in array is the given type.
array {Array}type {String}: The native type to check.returns: {Boolean}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
firstIsType(arr, 'string');
//=> true
Get the first string in array.
array {Array}returns: {String}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
firstString(arr, 'string');
//=> 'a'
Get the last string in array.
array {Array}returns: {String}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
lastString(arr, 'string');
//=> 'c'
Get the first function in array.
array {Array}returns: {Function}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
firstFunction(arr, 'function');
//=> 'a'
Get the last function in array.
array {Array}returns: {Function}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
lastFunction(arr, 'function');
//=> 'a'
Get the first number in array.
array {Array}returns: {Function}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
firstNumber(arr, 'number');
//=> '1'
Get the last number in array.
array {Array}returns: {Function}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
lastNumber(arr, 'number');
//=> '2'
Get the first object in array.
array {Array}returns: {Object}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
firstObject(arr);
//=> {a: 'b'}
Get the last object in array.
array {Array}returns: {Object}var arr = ['a', {a: 'b'}, 1, 'b', 2, {c: 'd'}, 'c'];
lastObject(arr);
//=> {c: 'd'}
Jon Schlinkert
Other projects that I maintain:
Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license
This file was generated by verb-cli on October 02, 2014.
FAQs
JavaScript utilities for arrays.
We found that arr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Following multiple malicious extension incidents, Open VSX outlines new safeguards designed to catch risky uploads earlier.

Research
/Security News
Threat actors compromised four oorzc Open VSX extensions with more than 22,000 downloads, pushing malicious versions that install a staged loader, evade Russian-locale systems, pull C2 from Solana memos, and steal macOS credentials and wallets.

Security News
Lodash 4.17.23 marks a security reset, with maintainers rebuilding governance and infrastructure to support long-term, sustainable maintenance.