/ lodash

Lodash документация на русском (массивы) часть 6

“Массивы” - часть 6

.uniqWith(array, [comparator])

source,
npm package.

Этот метод подобен _.uniq за исключением того, что он принимает comparator, который вызывается для сравнения элементов массива.

Порядок значений определяется порядком, в котором они встречаются в массиве.

Вызов comparator производится с двумя аргументами: (arrVal, othVal).

Версия: 4.0.0

Аргументы

array (Array): Массивы для обработки.
[comparator] (Function): comparator ссылаться на каждый элемент.

Возвращает

(Array): Возвращает новый освобожденный дубликат массива.

Пример


var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
 
_.uniqWith(objects, _.isEqual);
// => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]

.unzip(array)

source,
npm package.

Этот метод подобен _.zip за исключением того, что он принимает массив сгруппированных элементов и создает массив перегруппированных элементов из pre-zip конфигурации.

Версия: 1.2.0

Аргументы

array (Array): Массив сгруппированных в процессе элементов.

Возвращает

(Array): Возвращает новый массив перегруппированных элементов.

Пример


var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);
// => [['a', 1, true], ['b', 2, false]]
 
_.unzip(zipped);
// => [['a', 'b'], [1, 2], [true, false]]

.unzipWith(array, [iteratee=_.identity])

source,
npm package.

Этот метод подобен _.unzip за исключением того, что он принимает iteratee, чтобы указать, какие перегруппированные значения должны быть объединены.

iteratee вызывается с элементами каждой группы: (...group).

Версия: 3.8.0

Аргументы

array (Array): Массив сгруппированных в процессе элементов.
[iteratee=_.identity] (Function): Функция для объединения перегруппированных значений.

Возвращает

(Array): Возвращает новый массив перегруппированных элементов.

Пример


var zipped = _.zip([1, 2], [10, 20], [100, 200]);
// => [[1, 10, 100], [2, 20, 200]]
 
_.unzipWith(zipped, _.add);
// => [3, 30, 300]

.without(array, [values])

source,
npm package.

Создает массив без учета всех заданных значений с помощью SameValueZero для сравнения на равенство.

Заметка:

В отличие от _.pull, этот метод возвращает новый массив.

Версия: 0.1.0

Аргументы

array (Array): Массив для изменения.
[values] (...*): Значения для исключения.

Возвращает

(Array): Возвращает новый массив из отфильтрованных значений.

Пример


_.without([2, 1, 2, 3], 1, 2);
// => [3]

.xor([arrays])

source,
npm package.

Создает массив из уникальных значений, которые являются symmetric difference из данных массивов.

Порядок значения результатов определяется тем, в каком порядке они расположены в массивах.

Версия: 2.4.0

Аргументы

[arrays] (...Array): Массивы для проверки.

Возвращает

(Array): Возвращает новый массив из отфильтрованных значений.

Пример


_.xor([2, 1], [2, 3]);
// => [1, 3]

.xorBy([arrays], [iteratee=_.identity])

source,
npm package.

Этот метод подобен _.xor кроме того, что он принимает iteratee, который вызывается для каждого элемента каждого массива, чтобы создать критерий, по которому они сравниваются.

Порядок значения результатов определяется тем, как они расположены в массивах.

iteratee вызывается с одним аргументом: (value).

Версия: 4.0.0

Аргументы

[arrays] (...Array): Массивы для проверки.
[iteratee=_.identity] (Function): iteratee вызывается для каждого элемента.

Возвращает

(Array): Возвращает новый массив из отфильтрованных значений.

Пример


_.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);
// => [1.2, 3.4]
 
// The `_.property` iteratee shorthand.
_.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
// => [{ 'x': 2 }]

.xorWith([arrays], [comparator])

source,
npm package.

Этот метод подобен _.xor за исключением того, что он принимает comparator, который вызывается для сравнения элементов массивов.

Порядок значения результатов определяется тем, как они расположены в массивах.

comparator вызывается с двумя аргументами: (arrVal, othVal).

Версия: 4.0.0

Аргументы

[arrays] (...Array): Массивы для проверки.
[comparator] (Function): comparator ссылаеться на элемент.

Возвращает

(Array): Возвращает новый массив из отфильтрованных значений.

Пример


var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
 
_.xorWith(objects, others, _.isEqual);
// => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]

.zip([arrays])

source,
npm package.

Создает массив из сгруппированных элементов, первый из которых содержит первые элементы данного массива, второй из которых содержит вторые элементы данного массива, и так далее.

Версия: 0.1.0

Аргументы

[arrays] (...Array): Массивы для обработки.

Возвращает

(Array): Возвращает новый массив сгруппированных элементов.

Пример


_.zip(['a', 'b'], [1, 2], [true, false]);
// => [['a', 1, true], ['b', 2, false]]

.zipObject([props=[]], [values=[]])

source,
npm package.

Этот метод подобен _.fromPairs кроме того, что он принимает два массива, один из идентификаторов свойств и одно из соответствующих значений.

Версия: 0.4.0

Аргументы

[props=[]] (Array): Идентификаторы свойств.
[values=[]] (Array): Значения свойств.

Возвращает

(Object): Возвращает новый объект.

Пример


_.zipObject(['a', 'b'], [1, 2]);
// => { 'a': 1, 'b': 2 }

.zipObjectDeep([props=[]], [values=[]])

source,
npm package.

Этот метод подобен _.zipObject кроме того, что он поддерживает свойство paths.

Версия: 4.1.0

Аргументы

[props=[]] (Array): Идентификаторы свойств.
[values=[]] (Array): Значения свойств.

Возвращает

(Object): Возвращает новый объект.

Пример


_.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
// => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }

.zipWith([arrays], [iteratee=_.identity])

source,
npm package.

Этот метод подобен _.zip за исключением того, что он принимает iteratee, чтобы определить, какие сгруппированные значения должны быть объединены.

iteratee вызывается с элементами каждую группу: (...group).

Версия: 3.8.0

Аргументы

[arrays] (...Array): Массивы для обработки.
[iteratee=_.identity] (Function): Функция для объединения сгруппированным значениям.

Возвращает

(Array): Возвращает новый массив сгруппированных элементов.

Пример


_.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {
  return a + b + c;
});
// => [111, 222]