util/array

Unstable

Helper functions for working with arrays.

Globals

Functions

has(array, element)

Returns true if the given Array contains the element or false otherwise. A simplified version of array.indexOf(element) >= 0.

let { has } = require('sdk/util/array');
let a = ['rock', 'roll', 100];

has(a, 'rock'); // true
has(a, 'rush'); // false
has(a, 100); // true
Parameters

array : array
The array to search.

element : *
The element to search for in the array.

Returns

boolean : A boolean indicating whether or not the element was found in the array.

hasAny(array, elements)

Returns true if the given Array contains any of the elements in the elements array, or false otherwise.

let { hasAny } = require('sdk/util/array');
let a = ['rock', 'roll', 100];

hasAny(a, ['rock', 'bright', 'light']); // true
hasAny(a, ['rush', 'coil', 'jet']); // false
Parameters

array : array
The array to search for elements.

elements : array
An array of elements to search for in array.

Returns

boolean : A boolean indicating whether or not any of the elements were found in the array.

add(array, element)

If the given array does not already contain the given element, this function adds the element to the array and returns true. Otherwise, this function does not add the element and returns false.

let { add } = require('sdk/util/array');
let a = ['alice', 'bob', 'carol'];

add(a, 'dave'); // true
add(a, 'dave'); // false
add(a, 'alice'); // false

console.log(a); // ['alice', 'bob', 'carol', 'dave']
Parameters

array : array
The array to add the element to.

element : *
The element to add

Returns

boolean : A boolean indicating whether or not the element was added to the array.

remove(array, element)

If the given array contains the given element, this function removes the element from the array and returns true. Otherwise, this function does not alter the array and returns false.

let { remove } = require('sdk/util/array');
let a = ['alice', 'bob', 'carol'];

remove(a, 'dave'); // false
remove(a, 'bob'); // true
remove(a, 'bob'); // false

console.log(a); // ['alice', 'carol']
Parameters

array : array
The array to remove the element from.

element : *
The element to remove from the array if it contains it.

Returns

boolean : A boolean indicating whether or not the element was removed from the array.

unique(array)

Produces a duplicate-free version of the given array.

let { unique } = require('sdk/util/array');
let a = [1, 1, 1, 1, 3, 4, 7, 7, 10, 10, 10, 10];
let b = unique(a);

console.log(a); // [1, 1, 1, 1, 3, 4, 7, 7, 10, 10, 10, 10];
console.log(b); // [1, 3, 4, 7, 10];
Parameters

array : array
Source array.

Returns

array : The new, duplicate-free array.

flatten(array)

Flattens a nested array of any depth.

let { flatten } = require('sdk/util/array');
let a = ['cut', ['ice', ['fire']], 'elec'];
let b = flatten(a);

console.log(a); // ['cut', ['ice', ['fire']], 'elec']
console.log(b); // ['cut', 'ice', 'fire', 'elec'];
Parameters

array : array
The array to flatten.

Returns

array : The new, flattened array.

fromIterator(iterator)

Iterates over an iterator and returns the results as an array.

let { fromIterator } = require('sdk/util/array');
let i = new Set();
i.add('otoro');
i.add('unagi');
i.add('keon');

fromIterator(i) // ['otoro', 'unagi', 'keon']
Parameters

iterator : iterator
The Iterator object over which to iterate and place results into an array.

Returns

array : The iterator's results in an array.

find(iterator)

Iterates over given array and applies given predicate function until predicate(element) is true. If such element is found it's retured back otherwise third optional fallback argument is returned back. If fallback is not provided returns undefined.

let { find } = require('sdk/util/array');
let isOdd = (x) => x % 2;
find([2, 4, 5, 7, 8, 9], isOdd);   // => 5
find([2, 4, 6, 8], isOdd);         // => undefiend
find([2, 4, 6, 8], isOdd, null);   // => null

fromIterator(i) // ['otoro', 'unagi', 'keon']
Parameters

iterator : iterator
The Iterator object over which to iterate and place results into an array.

Returns

array : The iterator's results in an array.