@rogolev/value 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +142 -1
- package/docs/helpers/array/array_chunk.md +80 -0
- package/docs/helpers/array/array_chunk_with_keys.md +81 -0
- package/docs/helpers/array/array_column.md +110 -0
- package/docs/helpers/array/array_combine.md +77 -0
- package/docs/helpers/array/array_count_values.md +71 -0
- package/docs/helpers/array/array_diff.md +97 -0
- package/docs/helpers/array/array_diff_assoc.md +81 -0
- package/docs/helpers/array/array_diff_key.md +81 -0
- package/docs/helpers/array/array_diff_uassoc.md +101 -0
- package/docs/helpers/array/array_diff_ukey.md +101 -0
- package/docs/helpers/array/array_fill.md +81 -0
- package/docs/helpers/array/array_fill_keys.md +73 -0
- package/docs/helpers/array/array_filter.md +79 -0
- package/docs/helpers/array/array_flip.md +70 -0
- package/docs/helpers/array/array_index_max.md +78 -0
- package/docs/helpers/array/array_index_min.md +78 -0
- package/docs/helpers/array/array_intersect.md +91 -0
- package/docs/helpers/array/array_intersect_assoc.md +91 -0
- package/docs/helpers/array/array_intersect_key.md +91 -0
- package/docs/helpers/array/array_intersect_uassoc.md +101 -0
- package/docs/helpers/array/array_intersect_ukey.md +101 -0
- package/docs/helpers/array/array_key_exists.md +73 -0
- package/docs/helpers/array/array_key_first.md +62 -0
- package/docs/helpers/array/array_key_last.md +62 -0
- package/docs/helpers/array/array_key_to_lower_case.md +57 -0
- package/docs/helpers/array/array_key_to_upper_case.md +57 -0
- package/docs/helpers/array/array_keys.md +62 -0
- package/docs/helpers/array/array_map.md +69 -0
- package/docs/helpers/array/array_merge.md +67 -0
- package/docs/helpers/array/array_merge_recursive.md +86 -0
- package/docs/helpers/array/array_pad.md +83 -0
- package/docs/helpers/array/array_pop.md +64 -0
- package/docs/helpers/array/array_product.md +62 -0
- package/docs/helpers/array/array_push.md +57 -0
- package/docs/helpers/array/array_rand.md +99 -0
- package/docs/helpers/array/array_reduce.md +77 -0
- package/docs/helpers/array/array_replace.md +85 -0
- package/docs/helpers/array/array_replace_recursive.md +87 -0
- package/docs/helpers/array/array_reverse.md +55 -0
- package/docs/helpers/array/array_search.md +74 -0
- package/docs/helpers/array/array_shift.md +64 -0
- package/docs/helpers/array/array_slice.md +65 -0
- package/docs/helpers/array/array_splice.md +103 -0
- package/docs/helpers/array/array_sum.md +55 -0
- package/docs/helpers/array/array_udiff.md +97 -0
- package/docs/helpers/array/array_udiff_assoc.md +101 -0
- package/docs/helpers/array/array_udiff_uassoc.md +88 -0
- package/docs/helpers/array/array_uintersect.md +101 -0
- package/docs/helpers/array/array_uintersect_assoc.md +102 -0
- package/docs/helpers/array/array_uintersect_uassoc.md +135 -0
- package/docs/helpers/array/array_unique.md +54 -0
- package/docs/helpers/array/array_unshift.md +58 -0
- package/docs/helpers/array/array_values.md +54 -0
- package/docs/helpers/array/array_walk.md +87 -0
- package/docs/helpers/array/array_walk_recursive.md +93 -0
- package/docs/helpers/array/count.md +54 -0
- package/docs/helpers/array/in_array.md +65 -0
- package/docs/helpers/array/natsort.md +60 -0
- package/docs/helpers/array/range.md +76 -0
- package/docs/helpers/array/shuffle.md +74 -0
- package/docs/helpers/array/sort.md +79 -0
- package/docs/helpers/is_char.md +84 -0
- package/docs/helpers/string/is_digit_char.md +70 -0
- package/docs/helpers/string/is_whitespace_char.md +70 -0
- package/docs/helpers/string/natcompare.md +69 -0
- package/docs/helpers/string/natcompare_numeric.md +70 -0
- package/docs/helpers.md +125 -1
- package/index.mjs +66 -1
- package/package.json +2 -1
- package/prettier.config.mjs +2 -1
- package/src/helpers/array/array_chunk.mjs +102 -0
- package/src/helpers/array/array_chunk_with_keys.mjs +102 -0
- package/src/helpers/array/array_column.mjs +131 -0
- package/src/helpers/array/array_combine.mjs +26 -0
- package/src/helpers/array/array_count_values.mjs +82 -0
- package/src/helpers/array/array_diff.mjs +77 -0
- package/src/helpers/array/array_diff_assoc.mjs +56 -0
- package/src/helpers/array/array_diff_key.mjs +56 -0
- package/src/helpers/array/array_diff_uassoc.mjs +76 -0
- package/src/helpers/array/array_diff_ukey.mjs +71 -0
- package/src/helpers/array/array_fill.mjs +108 -0
- package/src/helpers/array/array_fill_keys.mjs +90 -0
- package/src/helpers/array/array_filter.mjs +105 -0
- package/src/helpers/array/array_flip.mjs +58 -0
- package/src/helpers/array/array_index_max.mjs +82 -0
- package/src/helpers/array/array_index_min.mjs +82 -0
- package/src/helpers/array/array_intersect.mjs +71 -0
- package/src/helpers/array/array_intersect_assoc.mjs +67 -0
- package/src/helpers/array/array_intersect_key.mjs +67 -0
- package/src/helpers/array/array_intersect_uassoc.mjs +77 -0
- package/src/helpers/array/array_intersect_ukey.mjs +72 -0
- package/src/helpers/array/array_key_exists.mjs +83 -0
- package/src/helpers/array/array_key_first.mjs +73 -0
- package/src/helpers/array/array_key_last.mjs +74 -0
- package/src/helpers/array/array_key_to_lower_case.mjs +71 -0
- package/src/helpers/array/array_key_to_upper_case.mjs +71 -0
- package/src/helpers/array/array_keys.mjs +65 -0
- package/src/helpers/array/array_map.mjs +84 -0
- package/src/helpers/array/array_merge.mjs +95 -0
- package/src/helpers/array/array_merge_recursive.mjs +153 -0
- package/src/helpers/array/array_pad.mjs +105 -0
- package/src/helpers/array/array_pop.mjs +82 -0
- package/src/helpers/array/array_product.mjs +67 -0
- package/src/helpers/array/array_push.mjs +75 -0
- package/src/helpers/array/array_rand.mjs +129 -0
- package/src/helpers/array/array_reduce.mjs +90 -0
- package/src/helpers/array/array_replace.mjs +25 -0
- package/src/helpers/array/array_replace_recursive.mjs +109 -0
- package/src/helpers/array/array_reverse.mjs +62 -0
- package/src/helpers/array/array_search.mjs +104 -0
- package/src/helpers/array/array_shift.mjs +78 -0
- package/src/helpers/array/array_slice.mjs +99 -0
- package/src/helpers/array/array_splice.mjs +218 -0
- package/src/helpers/array/array_sum.mjs +60 -0
- package/src/helpers/array/array_udiff.mjs +91 -0
- package/src/helpers/array/array_udiff_assoc.mjs +71 -0
- package/src/helpers/array/array_udiff_uassoc.mjs +124 -0
- package/src/helpers/array/array_uintersect.mjs +72 -0
- package/src/helpers/array/array_uintersect_assoc.mjs +77 -0
- package/src/helpers/array/array_uintersect_uassoc.mjs +121 -0
- package/src/helpers/array/array_unique.mjs +77 -0
- package/src/helpers/array/array_unshift.mjs +64 -0
- package/src/helpers/array/array_values.mjs +57 -0
- package/src/helpers/array/array_walk.mjs +95 -0
- package/src/helpers/array/array_walk_recursive.mjs +104 -0
- package/src/helpers/array/count.mjs +57 -0
- package/src/helpers/array/in_array.mjs +67 -0
- package/src/helpers/array/natsort.mjs +62 -0
- package/src/helpers/array/range.mjs +121 -0
- package/src/helpers/array/shuffle.mjs +73 -0
- package/src/helpers/array/sort.mjs +69 -0
- package/src/helpers/is_char.mjs +54 -0
- package/src/helpers/string/is_digit_char.mjs +60 -0
- package/src/helpers/string/is_whitespace_char.mjs +54 -0
- package/src/helpers/string/natcompare.mjs +107 -0
- package/src/helpers/string/natcompare_numeric.mjs +131 -0
- package/tests/helpers/array/array_chunk.test.mjs +49 -0
- package/tests/helpers/array/array_chunk_with_keys.test.mjs +45 -0
- package/tests/helpers/array/array_column.test.mjs +87 -0
- package/tests/helpers/array/array_combine.test.mjs +41 -0
- package/tests/helpers/array/array_count_values.test.mjs +40 -0
- package/tests/helpers/array/array_diff.test.mjs +78 -0
- package/tests/helpers/array/array_diff_assoc.test.mjs +64 -0
- package/tests/helpers/array/array_diff_key.test.mjs +64 -0
- package/tests/helpers/array/array_diff_uassoc.test.mjs +73 -0
- package/tests/helpers/array/array_diff_ukey.test.mjs +77 -0
- package/tests/helpers/array/array_fill.test.mjs +47 -0
- package/tests/helpers/array/array_fill_keys.test.mjs +35 -0
- package/tests/helpers/array/array_filter.test.mjs +38 -0
- package/tests/helpers/array/array_flip.test.mjs +33 -0
- package/tests/helpers/array/array_index_max.test.mjs +41 -0
- package/tests/helpers/array/array_index_min.test.mjs +41 -0
- package/tests/helpers/array/array_intersect.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_assoc.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_key.test.mjs +65 -0
- package/tests/helpers/array/array_intersect_uassoc.test.mjs +76 -0
- package/tests/helpers/array/array_intersect_ukey.test.mjs +74 -0
- package/tests/helpers/array/array_key_exists.test.mjs +36 -0
- package/tests/helpers/array/array_key_first.test.mjs +29 -0
- package/tests/helpers/array/array_key_last.test.mjs +29 -0
- package/tests/helpers/array/array_key_to_lower_case.test.mjs +23 -0
- package/tests/helpers/array/array_key_to_upper_case.test.mjs +23 -0
- package/tests/helpers/array/array_keys.test.mjs +27 -0
- package/tests/helpers/array/array_map.test.mjs +32 -0
- package/tests/helpers/array/array_merge.test.mjs +37 -0
- package/tests/helpers/array/array_merge_recursive.test.mjs +65 -0
- package/tests/helpers/array/array_pad.test.mjs +48 -0
- package/tests/helpers/array/array_pop.test.mjs +29 -0
- package/tests/helpers/array/array_product.test.mjs +33 -0
- package/tests/helpers/array/array_push.test.mjs +31 -0
- package/tests/helpers/array/array_rand.test.mjs +59 -0
- package/tests/helpers/array/array_reduce.test.mjs +44 -0
- package/tests/helpers/array/array_replace.test.mjs +46 -0
- package/tests/helpers/array/array_replace_recursive.test.mjs +46 -0
- package/tests/helpers/array/array_reverse.test.mjs +31 -0
- package/tests/helpers/array/array_search.test.mjs +48 -0
- package/tests/helpers/array/array_shift.test.mjs +29 -0
- package/tests/helpers/array/array_slice.test.mjs +49 -0
- package/tests/helpers/array/array_splice.test.mjs +67 -0
- package/tests/helpers/array/array_sum.test.mjs +27 -0
- package/tests/helpers/array/array_udiff.test.mjs +95 -0
- package/tests/helpers/array/array_udiff_assoc.test.mjs +77 -0
- package/tests/helpers/array/array_udiff_uassoc.test.mjs +89 -0
- package/tests/helpers/array/array_uintersect.test.mjs +78 -0
- package/tests/helpers/array/array_uintersect_assoc.test.mjs +80 -0
- package/tests/helpers/array/array_uintersect_uassoc.test.mjs +122 -0
- package/tests/helpers/array/array_unique.test.mjs +27 -0
- package/tests/helpers/array/array_unshift.test.mjs +31 -0
- package/tests/helpers/array/array_values.test.mjs +27 -0
- package/tests/helpers/array/array_walk.test.mjs +48 -0
- package/tests/helpers/array/array_walk_recursive.test.mjs +53 -0
- package/tests/helpers/array/count.test.mjs +27 -0
- package/tests/helpers/array/in_array.test.mjs +52 -0
- package/tests/helpers/array/natsort.test.mjs +71 -0
- package/tests/helpers/array/range.test.mjs +51 -0
- package/tests/helpers/array/shuffle.test.mjs +42 -0
- package/tests/helpers/array/sort.test.mjs +60 -0
- package/tests/helpers/is_char.test.mjs +40 -0
- package/tests/helpers/string/is_digit_char.test.mjs +32 -0
- package/tests/helpers/string/is_whitespace_char.test.mjs +32 -0
- package/tests/helpers/string/natcompare.test.mjs +100 -0
- package/tests/helpers/string/natcompare_numeric.test.mjs +110 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_index_max
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_index_max.mjs)
|
|
4
|
+
|
|
5
|
+
# array_index_max
|
|
6
|
+
|
|
7
|
+
`array_index_max` — Возвращает максимальный индекс массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_index_max(value: object): number | null;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_index_max` используется для получения максимального индекса массива. Она возвращает
|
|
18
|
+
максимальный индекс для обычных массивов и ассоциативных массивов.
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `value` (object): Исходный массив.
|
|
23
|
+
|
|
24
|
+
## Возвращаемое значение
|
|
25
|
+
|
|
26
|
+
Возвращает максимальный индекс массива. Если массив пустой, возвращает `null`.
|
|
27
|
+
|
|
28
|
+
## Примеры использования
|
|
29
|
+
|
|
30
|
+
1. Получение максимального индекса обычного массива:
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
const array = [1, 2, 3];
|
|
34
|
+
const result = array_index_max(array);
|
|
35
|
+
console.log(result); // 2
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Получение максимального индекса ассоциативного массива:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
42
|
+
const result = array_index_max(array);
|
|
43
|
+
console.log(result); // null (нет числовых ключей)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
3. Обработка пустого массива:
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
const array = [];
|
|
50
|
+
const result = array_index_max(array);
|
|
51
|
+
console.log(result); // null
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
4. Обработка значений, не являющихся массивами:
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
try {
|
|
58
|
+
const result = array_index_max('not an array');
|
|
59
|
+
} catch (e) {
|
|
60
|
+
console.error(e.message); // Параметр "value" должен быть массивом.
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
5. Обработка ассоциативного массива с числовыми ключами:
|
|
65
|
+
|
|
66
|
+
```js
|
|
67
|
+
const array = { a: 1, 2: 'b', 3: 'c' };
|
|
68
|
+
const result = array_index_max(array);
|
|
69
|
+
console.log(result); // 3
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
6. Обработка массива с различными типами данных:
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
const array = { a: 1, b: '2', 3: true };
|
|
76
|
+
const result = array_index_max(array);
|
|
77
|
+
console.log(result); // 3
|
|
78
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_index_min
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_index_min.mjs)
|
|
4
|
+
|
|
5
|
+
# array_index_min
|
|
6
|
+
|
|
7
|
+
`array_index_min` — Возвращает минимальный индекс массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_index_min(value: object): number | null;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_index_min` используется для получения минимального индекса массива. Она возвращает
|
|
18
|
+
минимальный индекс для обычных массивов и ассоциативных массивов.
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `value` (object): Исходный массив.
|
|
23
|
+
|
|
24
|
+
## Возвращаемое значение
|
|
25
|
+
|
|
26
|
+
Возвращает минимальный индекс массива. Если массив пустой, возвращает `null`.
|
|
27
|
+
|
|
28
|
+
## Примеры использования
|
|
29
|
+
|
|
30
|
+
1. Получение минимального индекса обычного массива:
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
const array = [1, 2, 3];
|
|
34
|
+
const result = array_index_min(array);
|
|
35
|
+
console.log(result); // 0
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Получение минимального индекса ассоциативного массива:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
42
|
+
const result = array_index_min(array);
|
|
43
|
+
console.log(result); // null (нет числовых ключей)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
3. Обработка пустого массива:
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
const array = [];
|
|
50
|
+
const result = array_index_min(array);
|
|
51
|
+
console.log(result); // null
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
4. Обработка значений, не являющихся массивами:
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
try {
|
|
58
|
+
const result = array_index_min('not an array');
|
|
59
|
+
} catch (e) {
|
|
60
|
+
console.error(e.message); // Параметр "value" должен быть массивом.
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
5. Обработка ассоциативного массива с числовыми ключами:
|
|
65
|
+
|
|
66
|
+
```js
|
|
67
|
+
const array = { 1: 'a', 2: 'b', 3: 'c' };
|
|
68
|
+
const result = array_index_min(array);
|
|
69
|
+
console.log(result); // 1
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
6. Обработка массива с различными типами данных:
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
const array = { a: 1, b: '2', 3: true };
|
|
76
|
+
const result = array_index_min(array);
|
|
77
|
+
console.log(result); // 3
|
|
78
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_intersect
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_intersect.mjs)
|
|
4
|
+
|
|
5
|
+
# array_intersect
|
|
6
|
+
|
|
7
|
+
`array_intersect` — Вычисляет пересечение между массивами с использованием стандартной функции
|
|
8
|
+
сравнения значений.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_intersect(original_array: object, ...arrays: object[]): object;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Описание
|
|
17
|
+
|
|
18
|
+
Функция `array_intersect` используется для вычисления пересечения между массивами с использованием
|
|
19
|
+
стандартной функции сравнения значений. Она возвращает массив, содержащий элементы из первого
|
|
20
|
+
массива, которые присутствуют в других массивах.
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `original_array` (object): Исходный массив.
|
|
25
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Возвращает массив, содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Сравнение массивов:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
37
|
+
const array1 = { a: 1, b: 2 };
|
|
38
|
+
const array2 = { b: 2, c: 3 };
|
|
39
|
+
const result = array_intersect(original_array, array1, array2);
|
|
40
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
2. Обработка пустых массивов:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
const original_array = {};
|
|
47
|
+
const array1 = {};
|
|
48
|
+
const result = array_intersect(original_array, array1);
|
|
49
|
+
console.log(result); // {}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
3. Обработка значений, не являющихся массивами:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
try {
|
|
56
|
+
const result = array_intersect('not an array');
|
|
57
|
+
} catch (e) {
|
|
58
|
+
console.error(e.message); // Параметр "original_array" должен быть массивом.
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
4. Сравнение массивов с различными типами данных:
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const original_array = { a: 1, b: '2', c: true };
|
|
66
|
+
const array1 = { a: 1, b: 2, d: false };
|
|
67
|
+
const result = array_intersect(original_array, array1);
|
|
68
|
+
console.log(result); // { a: 1 }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
5. Сравнение нескольких массивов:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
const original_array = { a: 1, b: 2, c: 3, d: 4 };
|
|
75
|
+
const array1 = { a: 1, b: 2 };
|
|
76
|
+
const array2 = { c: 3 };
|
|
77
|
+
const result = array_intersect(original_array, array1, array2);
|
|
78
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
6. Сравнение массивов с вложенными структурами:
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
const original_array = {
|
|
85
|
+
a: { id: 1, data: [1, 2] },
|
|
86
|
+
b: { id: 2, data: [3, 4] },
|
|
87
|
+
};
|
|
88
|
+
const array1 = { a: { id: 1, data: [1, 2] } };
|
|
89
|
+
const result = array_intersect(original_array, array1);
|
|
90
|
+
console.log(result); // { a: { id: 1, data: [1, 2] } }
|
|
91
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_intersect_assoc
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_intersect_assoc.mjs)
|
|
4
|
+
|
|
5
|
+
# array_intersect_assoc
|
|
6
|
+
|
|
7
|
+
`array_intersect_assoc` — Вычисляет пересечение между массивами с использованием стандартной
|
|
8
|
+
функции сравнения для значений и ключей.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_intersect_assoc(original_array: object, ...arrays: object[]): object;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Описание
|
|
17
|
+
|
|
18
|
+
Функция `array_intersect_assoc` используется для вычисления пересечения между массивами с
|
|
19
|
+
использованием стандартной функции сравнения для значений и ключей. Она возвращает массив,
|
|
20
|
+
содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `original_array` (object): Исходный массив.
|
|
25
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Возвращает массив, содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Сравнение массивов:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
37
|
+
const array1 = { a: 1, b: 2 };
|
|
38
|
+
const array2 = { b: 2, c: 3 };
|
|
39
|
+
const result = array_intersect_assoc(original_array, array1, array2);
|
|
40
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
2. Обработка пустых массивов:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
const original_array = {};
|
|
47
|
+
const array1 = {};
|
|
48
|
+
const result = array_intersect_assoc(original_array, array1);
|
|
49
|
+
console.log(result); // {}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
3. Обработка значений, не являющихся массивами:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
try {
|
|
56
|
+
const result = array_intersect_assoc('not an array');
|
|
57
|
+
} catch (e) {
|
|
58
|
+
console.error(e.message); // Параметр "original_array" должен быть массивом.
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
4. Сравнение массивов с различными типами данных:
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const original_array = { a: 1, b: '2', c: true };
|
|
66
|
+
const array1 = { a: 1, b: 2, d: false };
|
|
67
|
+
const result = array_intersect_assoc(original_array, array1);
|
|
68
|
+
console.log(result); // { a: 1 }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
5. Сравнение нескольких массивов:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
const original_array = { a: 1, b: 2, c: 3, d: 4 };
|
|
75
|
+
const array1 = { a: 1, b: 2 };
|
|
76
|
+
const array2 = { c: 3 };
|
|
77
|
+
const result = array_intersect_assoc(original_array, array1, array2);
|
|
78
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
6. Сравнение массивов с вложенными структурами:
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
const original_array = {
|
|
85
|
+
a: { id: 1, data: [1, 2] },
|
|
86
|
+
b: { id: 2, data: [3, 4] },
|
|
87
|
+
};
|
|
88
|
+
const array1 = { a: { id: 1, data: [1, 2] } };
|
|
89
|
+
const result = array_intersect_assoc(original_array, array1);
|
|
90
|
+
console.log(result); // { a: { id: 1, data: [1, 2] } }
|
|
91
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_intersect_key
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_intersect_key.mjs)
|
|
4
|
+
|
|
5
|
+
# array_intersect_key
|
|
6
|
+
|
|
7
|
+
`array_intersect_key` — Вычисляет пересечение между массивами с использованием стандартной
|
|
8
|
+
функции сравнения для ключей.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_intersect_key(original_array: object, ...arrays: object[]): object;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Описание
|
|
17
|
+
|
|
18
|
+
Функция `array_intersect_key` используется для вычисления пересечения между массивами с
|
|
19
|
+
использованием стандартной функции сравнения для ключей. Она возвращает массив, содержащий элементы
|
|
20
|
+
из первого массива, которые присутствуют в других массивах.
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `original_array` (object): Исходный массив.
|
|
25
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Возвращает массив, содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Сравнение массивов:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
37
|
+
const array1 = { a: 1, b: 2 };
|
|
38
|
+
const array2 = { b: 2, c: 3 };
|
|
39
|
+
const result = array_intersect_key(original_array, array1, array2);
|
|
40
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
2. Обработка пустых массивов:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
const original_array = {};
|
|
47
|
+
const array1 = {};
|
|
48
|
+
const result = array_intersect_key(original_array, array1);
|
|
49
|
+
console.log(result); // {}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
3. Обработка значений, не являющихся массивами:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
try {
|
|
56
|
+
const result = array_intersect_key('not an array');
|
|
57
|
+
} catch (e) {
|
|
58
|
+
console.error(e.message); // Параметр "original_array" должен быть массивом.
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
4. Сравнение массивов с различными типами данных:
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const original_array = { a: 1, b: '2', c: true };
|
|
66
|
+
const array1 = { a: 1, b: 2, d: false };
|
|
67
|
+
const result = array_intersect_key(original_array, array1);
|
|
68
|
+
console.log(result); // { a: 1, b: '2' }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
5. Сравнение нескольких массивов:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
const original_array = { a: 1, b: 2, c: 3, d: 4 };
|
|
75
|
+
const array1 = { a: 1, b: 2 };
|
|
76
|
+
const array2 = { c: 3 };
|
|
77
|
+
const result = array_intersect_key(original_array, array1, array2);
|
|
78
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
6. Сравнение массивов с вложенными структурами:
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
const original_array = {
|
|
85
|
+
a: { id: 1, data: [1, 2] },
|
|
86
|
+
b: { id: 2, data: [3, 4] },
|
|
87
|
+
};
|
|
88
|
+
const array1 = { a: { id: 1, data: [1, 2] } };
|
|
89
|
+
const result = array_intersect_key(original_array, array1);
|
|
90
|
+
console.log(result); // { a: { id: 1, data: [1, 2] } }
|
|
91
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_intersect_uassoc
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_intersect_uassoc.mjs)
|
|
4
|
+
|
|
5
|
+
# array_intersect_uassoc
|
|
6
|
+
|
|
7
|
+
`array_intersect_uassoc` — Вычисляет пересечение между массивами с использованием
|
|
8
|
+
пользовательской функции сравнения для значений и ключей.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_intersect_uassoc(
|
|
14
|
+
key_compare_func: function,
|
|
15
|
+
original_array: object,
|
|
16
|
+
...arrays: object[]
|
|
17
|
+
): object;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Описание
|
|
21
|
+
|
|
22
|
+
Функция `array_intersect_uassoc` используется для вычисления пересечения между массивами с
|
|
23
|
+
использованием пользовательской функции сравнения для значений и ключей. Она возвращает массив,
|
|
24
|
+
содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
25
|
+
|
|
26
|
+
## Параметры
|
|
27
|
+
|
|
28
|
+
- `key_compare_func` (function): Функция для сравнения ключей.
|
|
29
|
+
- `original_array` (object): Исходный массив.
|
|
30
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
31
|
+
|
|
32
|
+
## Возвращаемое значение
|
|
33
|
+
|
|
34
|
+
Возвращает массив, содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
35
|
+
|
|
36
|
+
## Примеры использования
|
|
37
|
+
|
|
38
|
+
1. Сравнение массивов с использованием пользовательских функций сравнения:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const key_compare_func = (a, b) => a === b;
|
|
42
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const array1 = { a: 1, b: 2 };
|
|
44
|
+
const array2 = { b: 2, c: 3 };
|
|
45
|
+
const result = array_intersect_uassoc(key_compare_func, original_array, array1, array2);
|
|
46
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. Обработка пустых массивов:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const key_compare_func = (a, b) => a === b;
|
|
53
|
+
const original_array = {};
|
|
54
|
+
const array1 = {};
|
|
55
|
+
const result = array_intersect_uassoc(key_compare_func, original_array, array1);
|
|
56
|
+
console.log(result); // {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Обработка значений, не являющихся массивами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
try {
|
|
63
|
+
const result = array_intersect_uassoc('not a function', 'not an array');
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error(e.message); // Параметр "key_compare_func" должен быть функцией.
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. Сравнение массивов с различными типами данных:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const key_compare_func = (a, b) => a === b;
|
|
73
|
+
const original_array = { a: 1, b: '2', c: true };
|
|
74
|
+
const array1 = { a: 1, b: 2, d: false };
|
|
75
|
+
const result = array_intersect_uassoc(key_compare_func, original_array, array1);
|
|
76
|
+
console.log(result); // { a: 1 }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
5. Сравнение нескольких массивов:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const key_compare_func = (a, b) => a === b;
|
|
83
|
+
const original_array = { a: 1, b: 2, c: 3, d: 4 };
|
|
84
|
+
const array1 = { a: 1, b: 2 };
|
|
85
|
+
const array2 = { c: 3 };
|
|
86
|
+
const result = array_intersect_uassoc(key_compare_func, original_array, array1, array2);
|
|
87
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
6. Сравнение массивов с вложенными структурами:
|
|
91
|
+
|
|
92
|
+
```js
|
|
93
|
+
const key_compare_func = (a, b) => a === b;
|
|
94
|
+
const original_array = {
|
|
95
|
+
a: { id: 1, data: [1, 2] },
|
|
96
|
+
b: { id: 2, data: [3, 4] },
|
|
97
|
+
};
|
|
98
|
+
const array1 = { a: { id: 1, data: [1, 2] } };
|
|
99
|
+
const result = array_intersect_uassoc(key_compare_func, original_array, array1);
|
|
100
|
+
console.log(result); // { a: { id: 1, data: [1, 2] } }
|
|
101
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_intersect_ukey
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_intersect_ukey.mjs)
|
|
4
|
+
|
|
5
|
+
# array_intersect_ukey
|
|
6
|
+
|
|
7
|
+
`array_intersect_ukey` — Вычисляет пересечение между массивами с использованием
|
|
8
|
+
пользовательской функции сравнения для ключей.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_intersect_ukey(
|
|
14
|
+
key_compare_func: function,
|
|
15
|
+
original_array: object,
|
|
16
|
+
...arrays: object[]
|
|
17
|
+
): object;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Описание
|
|
21
|
+
|
|
22
|
+
Функция `array_intersect_ukey` используется для вычисления пересечения между массивами с
|
|
23
|
+
использованием пользовательской функции сравнения для ключей. Она возвращает массив, содержащий
|
|
24
|
+
элементы из первого массива, которые присутствуют в других массивах.
|
|
25
|
+
|
|
26
|
+
## Параметры
|
|
27
|
+
|
|
28
|
+
- `key_compare_func` (function): Функция для сравнения ключей.
|
|
29
|
+
- `original_array` (object): Исходный массив.
|
|
30
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
31
|
+
|
|
32
|
+
## Возвращаемое значение
|
|
33
|
+
|
|
34
|
+
Возвращает массив, содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
35
|
+
|
|
36
|
+
## Примеры использования
|
|
37
|
+
|
|
38
|
+
1. Сравнение массивов с использованием пользовательской функции сравнения ключей:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const key_compare_func = (a, b) => a === b;
|
|
42
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const array1 = { a: 1, b: 2 };
|
|
44
|
+
const array2 = { b: 2, c: 3 };
|
|
45
|
+
const result = array_intersect_ukey(key_compare_func, original_array, array1, array2);
|
|
46
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. Обработка пустых массивов:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const key_compare_func = (a, b) => a === b;
|
|
53
|
+
const original_array = {};
|
|
54
|
+
const array1 = {};
|
|
55
|
+
const result = array_intersect_ukey(key_compare_func, original_array, array1);
|
|
56
|
+
console.log(result); // {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Обработка значений, не являющихся массивами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
try {
|
|
63
|
+
const result = array_intersect_ukey('not a function', 'not an array');
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error(e.message); // Параметр "key_compare_func" должен быть функцией.
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. Сравнение массивов с различными типами данных:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const key_compare_func = (a, b) => a === b;
|
|
73
|
+
const original_array = { a: 1, b: '2', c: true };
|
|
74
|
+
const array1 = { a: 1, b: 2, d: false };
|
|
75
|
+
const result = array_intersect_ukey(key_compare_func, original_array, array1);
|
|
76
|
+
console.log(result); // { a: 1, b: '2' }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
5. Сравнение нескольких массивов:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const key_compare_func = (a, b) => a === b;
|
|
83
|
+
const original_array = { a: 1, b: 2, c: 3, d: 4 };
|
|
84
|
+
const array1 = { a: 1, b: 2 };
|
|
85
|
+
const array2 = { c: 3 };
|
|
86
|
+
const result = array_intersect_ukey(key_compare_func, original_array, array1, array2);
|
|
87
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
6. Сравнение массивов с вложенными структурами:
|
|
91
|
+
|
|
92
|
+
```js
|
|
93
|
+
const key_compare_func = (a, b) => a === b;
|
|
94
|
+
const original_array = {
|
|
95
|
+
a: { id: 1, data: [1, 2] },
|
|
96
|
+
b: { id: 2, data: [3, 4] },
|
|
97
|
+
};
|
|
98
|
+
const array1 = { a: { id: 1, data: [1, 2] } };
|
|
99
|
+
const result = array_intersect_ukey(key_compare_func, original_array, array1);
|
|
100
|
+
console.log(result); // { a: { id: 1, data: [1, 2] } }
|
|
101
|
+
```
|