@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,64 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_shift
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_shift.mjs)
|
|
4
|
+
|
|
5
|
+
# array_shift
|
|
6
|
+
|
|
7
|
+
`array_shift` — Удаляет и возвращает первый элемент массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_shift(arr: object): any;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_shift` используется для удаления и возврата первого элемента массива. Она
|
|
18
|
+
поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `arr` (object): Исходный массив.
|
|
23
|
+
|
|
24
|
+
## Возвращаемое значение
|
|
25
|
+
|
|
26
|
+
Возвращает первый элемент массива. Если массив пустой, возвращает `null`.
|
|
27
|
+
|
|
28
|
+
## Примеры использования
|
|
29
|
+
|
|
30
|
+
1. Удаление и возврат первого элемента обычного массива:
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
const array = [1, 2, 3];
|
|
34
|
+
const result = array_shift(array);
|
|
35
|
+
console.log(result); // 1
|
|
36
|
+
console.log(array); // [2, 3]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Удаление и возврат первого элемента ассоциативного массива:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const result = array_shift(array);
|
|
44
|
+
console.log(result); // 1
|
|
45
|
+
console.log(array); // { b: 2, c: 3 }
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
3. Обработка пустого массива:
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
const array = [];
|
|
52
|
+
const result = array_shift(array);
|
|
53
|
+
console.log(result); // null
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
4. Обработка значений, не являющихся массивами:
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
try {
|
|
60
|
+
const result = array_shift('not an array');
|
|
61
|
+
} catch (e) {
|
|
62
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
63
|
+
}
|
|
64
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_slice
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_slice.mjs)
|
|
4
|
+
|
|
5
|
+
# array_slice
|
|
6
|
+
|
|
7
|
+
`array_slice` — Возвращает новый массив, содержащий часть исходного массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_slice(arr: object, offset: number, length: number | null = null): object;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_slice` используется для извлечения части массива, начиная с указанного смещения и до
|
|
18
|
+
указанной длины. Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с
|
|
19
|
+
ключами и значениями).
|
|
20
|
+
|
|
21
|
+
## Параметры
|
|
22
|
+
|
|
23
|
+
- `arr` (object): Исходный массив.
|
|
24
|
+
- `offset` (number): Смещение, с которого начинается извлечение.
|
|
25
|
+
- `length` (number | null): Длина извлекаемой части. Если не указана, извлекается до конца массива.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Возвращает новый массив, содержащий часть исходного массива.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Извлечение части обычного массива:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const array = [1, 2, 3, 4, 5];
|
|
37
|
+
const result = array_slice(array, 1, 3);
|
|
38
|
+
console.log(result); // [2, 3, 4]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. Извлечение части ассоциативного массива:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
const array = { a: 1, b: 2, c: 3, d: 4, e: 5 };
|
|
45
|
+
const result = array_slice(array, 1, 3);
|
|
46
|
+
console.log(result); // { b: 2, c: 3, d: 4 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
3. Извлечение до конца массива:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const array = [1, 2, 3, 4, 5];
|
|
53
|
+
const result = array_slice(array, 2);
|
|
54
|
+
console.log(result); // [3, 4, 5]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
4. Обработка значений, не являющихся массивами:
|
|
58
|
+
|
|
59
|
+
```js
|
|
60
|
+
try {
|
|
61
|
+
const result = array_slice('not an array', 1, 2);
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
64
|
+
}
|
|
65
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_splice
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_splice.mjs)
|
|
4
|
+
|
|
5
|
+
# array_splice
|
|
6
|
+
|
|
7
|
+
`array_splice` — Удаляет элементы из массива и, при необходимости, добавляет новые элементы на
|
|
8
|
+
их место.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_splice(
|
|
14
|
+
arr: object,
|
|
15
|
+
offset: number,
|
|
16
|
+
length: number | null = null,
|
|
17
|
+
replacements: object = [],
|
|
18
|
+
): object;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Описание
|
|
22
|
+
|
|
23
|
+
Функция `array_splice` используется для удаления элементов из массива и добавления новых элементов
|
|
24
|
+
на их место. Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и
|
|
25
|
+
значениями).
|
|
26
|
+
|
|
27
|
+
## Параметры
|
|
28
|
+
|
|
29
|
+
- `arr` (object): Исходный массив.
|
|
30
|
+
- `offset` (number): Смещение, с которого начинается удаление.
|
|
31
|
+
- `length` (number | null): Количество удаляемых элементов. Если не указано, удаляются все элементы
|
|
32
|
+
до конца массива.
|
|
33
|
+
- `replacements` (array | object): Элементы для добавления на место удаленных.
|
|
34
|
+
|
|
35
|
+
## Возвращаемое значение
|
|
36
|
+
|
|
37
|
+
Возвращает массив удаленных элементов.
|
|
38
|
+
|
|
39
|
+
## Примеры использования
|
|
40
|
+
|
|
41
|
+
1. Удаление элементов из обычного массива:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
const array = [1, 2, 3, 4, 5];
|
|
45
|
+
const result = array_splice(array, 1, 2);
|
|
46
|
+
console.log(result); // [2, 3]
|
|
47
|
+
console.log(array); // [1, 4, 5]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
2. Удаление элементов из ассоциативного массива:
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
const array = { a: 1, b: 2, c: 3, d: 4, e: 5 };
|
|
54
|
+
const result = array_splice(array, 1, 2);
|
|
55
|
+
console.log(result); // { b: 2, c: 3 }
|
|
56
|
+
console.log(array); // { a: 1, d: 4, e: 5 }
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Добавление элементов в обычный массив:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
const array = [1, 2, 3];
|
|
63
|
+
const result = array_splice(array, 1, 0, [4, 5]);
|
|
64
|
+
console.log(result); // []
|
|
65
|
+
console.log(array); // [1, 4, 5, 2, 3]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
4. Добавление элементов в ассоциативный массив:
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
72
|
+
const result = array_splice(array, 1, 0, { d: 4, e: 5 });
|
|
73
|
+
console.log(result); // {}
|
|
74
|
+
console.log(array); // { a: 1, d: 4, e: 5, b: 2, c: 3 }
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
5. Замена элементов в обычном массиве:
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
const array = [1, 2, 3];
|
|
81
|
+
const result = array_splice(array, 1, 2, [4, 5]);
|
|
82
|
+
console.log(result); // [2, 3]
|
|
83
|
+
console.log(array); // [1, 4, 5]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
6. Замена элементов в ассоциативном массиве:
|
|
87
|
+
|
|
88
|
+
```js
|
|
89
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
90
|
+
const result = array_splice(array, 1, 2, { d: 4, e: 5 });
|
|
91
|
+
console.log(result); // { b: 2, c: 3 }
|
|
92
|
+
console.log(array); // { a: 1, d: 4, e: 5 }
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
7. Обработка значений, не являющихся массивами:
|
|
96
|
+
|
|
97
|
+
```js
|
|
98
|
+
try {
|
|
99
|
+
const result = array_splice('not an array', 1, 2);
|
|
100
|
+
} catch (e) {
|
|
101
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
102
|
+
}
|
|
103
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_sum
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_sum.mjs)
|
|
4
|
+
|
|
5
|
+
# array_sum
|
|
6
|
+
|
|
7
|
+
`array_sum` — Вычисляет сумму значений массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_sum(arr: object): number;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_sum` используется для вычисления суммы всех значений в массиве. Она поддерживает как
|
|
18
|
+
обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями). Все значения массива
|
|
19
|
+
приводятся к числовому типу с плавающей точкой перед суммированием.
|
|
20
|
+
|
|
21
|
+
## Параметры
|
|
22
|
+
|
|
23
|
+
- `arr` (object): Исходный массив.
|
|
24
|
+
|
|
25
|
+
## Возвращаемое значение
|
|
26
|
+
|
|
27
|
+
Возвращает сумму всех значений в массиве.
|
|
28
|
+
|
|
29
|
+
## Примеры использования
|
|
30
|
+
|
|
31
|
+
1. Вычисление суммы значений в обычном массиве:
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const array = [1, 2, 3, 4, 5];
|
|
35
|
+
const result = array_sum(array);
|
|
36
|
+
console.log(result); // 15
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Вычисление суммы значений в ассоциативном массиве:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const result = array_sum(array);
|
|
44
|
+
console.log(result); // 6
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
3. Обработка значений, не являющихся массивами:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
try {
|
|
51
|
+
const result = array_sum('not an array');
|
|
52
|
+
} catch (e) {
|
|
53
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
54
|
+
}
|
|
55
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_udiff
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_udiff.mjs)
|
|
4
|
+
|
|
5
|
+
# array_udiff
|
|
6
|
+
|
|
7
|
+
`array_udiff` — Вычисляет расхождение между массивами с использованием пользовательской
|
|
8
|
+
функции сравнения для значений.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_udiff(
|
|
14
|
+
value_compare_func: function,
|
|
15
|
+
original_array: object,
|
|
16
|
+
...arrays: object[]
|
|
17
|
+
): object;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Описание
|
|
21
|
+
|
|
22
|
+
Функция `array_udiff` используется для вычисления расхождения между массивами с использованием
|
|
23
|
+
пользовательской функции сравнения для значений. Она возвращает ассоциативный массив, содержащий
|
|
24
|
+
элементы из первого массива, которые отсутствуют в других массивах.
|
|
25
|
+
|
|
26
|
+
## Параметры
|
|
27
|
+
|
|
28
|
+
- `value_compare_func` (function): Функция для сравнения значений.
|
|
29
|
+
- `original_array` (object): Исходный массив.
|
|
30
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
31
|
+
|
|
32
|
+
## Возвращаемое значение
|
|
33
|
+
|
|
34
|
+
Возвращает ассоциативный массив, содержащий элементы из первого массива, которые отсутствуют в
|
|
35
|
+
других массивах.
|
|
36
|
+
|
|
37
|
+
## Примеры использования
|
|
38
|
+
|
|
39
|
+
1. Сравнение массивов с использованием пользовательской функции сравнения:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const value_compare_func = (a, b) => a === b;
|
|
43
|
+
const original_array = [1, 2, 3];
|
|
44
|
+
const array1 = [1, 2];
|
|
45
|
+
const result = array_udiff(value_compare_func, original_array, array1);
|
|
46
|
+
console.log(result); // { 2: 3 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. Обработка пустых массивов:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const value_compare_func = (a, b) => a === b;
|
|
53
|
+
const original_array = [];
|
|
54
|
+
const array1 = [];
|
|
55
|
+
const result = array_udiff(value_compare_func, original_array, array1);
|
|
56
|
+
console.log(result); // {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Обработка значений, не являющихся массивами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
try {
|
|
63
|
+
const result = array_udiff('not a function', 'not an array');
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error(e.message); // Параметр "value_compare_func" должен быть функцией.
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. Сравнение массивов с различными типами данных:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const value_compare_func = (a, b) => a === b;
|
|
73
|
+
const original_array = [1, '2', true];
|
|
74
|
+
const array1 = [1, 2, false];
|
|
75
|
+
const result = array_udiff(value_compare_func, original_array, array1);
|
|
76
|
+
console.log(result); // { 1: '2', 2: true }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
5. Сравнение массивов с ассоциативными массивами:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const value_compare_func = (a, b) => JSON.stringify(a) === JSON.stringify(b);
|
|
83
|
+
const original_array = [{ id: 1 }, { id: 2 }, { id: 3 }];
|
|
84
|
+
const array1 = [{ id: 1 }, { id: 2 }];
|
|
85
|
+
const result = array_udiff(value_compare_func, original_array, array1);
|
|
86
|
+
console.log(result); // { 2: { id: 3 } }
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
6. Сравнение ассоциативных массивов:
|
|
90
|
+
|
|
91
|
+
```js
|
|
92
|
+
const value_compare_func = (a, b) => a === b;
|
|
93
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
94
|
+
const array1 = { a: 1, b: 2 };
|
|
95
|
+
const result = array_udiff(value_compare_func, original_array, array1);
|
|
96
|
+
console.log(result); // { c: 3 }
|
|
97
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_udiff_assoc
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_udiff_assoc.mjs)
|
|
4
|
+
|
|
5
|
+
# array_udiff_assoc
|
|
6
|
+
|
|
7
|
+
`array_udiff_assoc` — Вычисляет расхождение между массивами с использованием пользовательской
|
|
8
|
+
функции сравнения для значений и ассоциативного сравнения ключей.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_udiff_assoc(
|
|
14
|
+
value_compare_func: function,
|
|
15
|
+
original_array: object,
|
|
16
|
+
...arrays: object[]
|
|
17
|
+
): object;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Описание
|
|
21
|
+
|
|
22
|
+
Функция `array_udiff_assoc` используется для вычисления расхождения между массивами с использованием
|
|
23
|
+
пользовательской функции сравнения для значений и ассоциативного сравнения ключей. Она возвращает
|
|
24
|
+
ассоциативный массив, содержащий элементы из первого массива, которые отсутствуют в других массивах.
|
|
25
|
+
|
|
26
|
+
## Параметры
|
|
27
|
+
|
|
28
|
+
- `value_compare_func` (function): Функция для сравнения значений.
|
|
29
|
+
- `original_array` (object): Исходный массив.
|
|
30
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
31
|
+
|
|
32
|
+
## Возвращаемое значение
|
|
33
|
+
|
|
34
|
+
Возвращает ассоциативный массив, содержащий элементы из первого массива, которые отсутствуют в
|
|
35
|
+
других массивах.
|
|
36
|
+
|
|
37
|
+
## Примеры использования
|
|
38
|
+
|
|
39
|
+
1. Сравнение массивов с использованием пользовательской функции сравнения:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const value_compare_func = (a, b) => a === b;
|
|
43
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
44
|
+
const array1 = { a: 1, b: 2 };
|
|
45
|
+
const result = array_udiff_assoc(value_compare_func, original_array, array1);
|
|
46
|
+
console.log(result); // { c: 3 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. Обработка пустых массивов:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const value_compare_func = (a, b) => a === b;
|
|
53
|
+
const original_array = {};
|
|
54
|
+
const array1 = {};
|
|
55
|
+
const result = array_udiff_assoc(value_compare_func, original_array, array1);
|
|
56
|
+
console.log(result); // {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Обработка значений, не являющихся массивами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
try {
|
|
63
|
+
const result = array_udiff_assoc('not a function', 'not an array');
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error(e.message); // Параметр "value_compare_func" должен быть функцией.
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. Сравнение массивов с различными типами данных:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const value_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_udiff_assoc(value_compare_func, original_array, array1);
|
|
76
|
+
console.log(result); // { b: '2', c: true }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
5. Сравнение нескольких массивов:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const value_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_udiff_assoc(value_compare_func, original_array, array1, array2);
|
|
87
|
+
console.log(result); // { d: 4 }
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
6. Сравнение массивов с вложенными структурами:
|
|
91
|
+
|
|
92
|
+
```js
|
|
93
|
+
const value_compare_func = (a, b) => JSON.stringify(a) === JSON.stringify(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_udiff_assoc(value_compare_func, original_array, array1);
|
|
100
|
+
console.log(result); // { b: { id: 2, data: [3, 4] } }
|
|
101
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_udiff_uassoc
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_udiff_uassoc.mjs)
|
|
4
|
+
|
|
5
|
+
# array_udiff_uassoc
|
|
6
|
+
|
|
7
|
+
`array_udiff_uassoc` — Вычисляет расхождение между массивами с использованием пользовательских
|
|
8
|
+
функций сравнения для значений и ключей.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_udiff_uassoc(
|
|
14
|
+
value_compare_func: function,
|
|
15
|
+
key_compare_func: function,
|
|
16
|
+
original_array: object,
|
|
17
|
+
...arrays: object[]
|
|
18
|
+
): object;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Описание
|
|
22
|
+
|
|
23
|
+
Функция `array_udiff_uassoc` используется для вычисления расхождения между массивами с
|
|
24
|
+
использованием пользовательских функций сравнения для значений и ключей. Она возвращает массив,
|
|
25
|
+
содержащий элементы из первого массива, которые отсутствуют в других массивах.
|
|
26
|
+
|
|
27
|
+
## Параметры
|
|
28
|
+
|
|
29
|
+
- `value_compare_func` (function): Функция для сравнения значений.
|
|
30
|
+
- `key_compare_func` (function): Функция для сравнения ключей.
|
|
31
|
+
- `original_array` (array): Исходный массив.
|
|
32
|
+
- `...arrays` (array): Массивы для сравнения.
|
|
33
|
+
|
|
34
|
+
## Возвращаемое значение
|
|
35
|
+
|
|
36
|
+
Возвращает массив, содержащий элементы из первого массива, которые отсутствуют в других массивах.
|
|
37
|
+
|
|
38
|
+
## Примеры использования
|
|
39
|
+
|
|
40
|
+
1. Сравнение массивов с использованием пользовательских функций сравнения:
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
const value_compare_func = (a, b) => a === b;
|
|
44
|
+
const key_compare_func = (a, b) => a === b;
|
|
45
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
46
|
+
const array1 = { a: 1, b: 2 };
|
|
47
|
+
const array2 = { d: 4 };
|
|
48
|
+
const result = array_udiff_uassoc(
|
|
49
|
+
value_compare_func,
|
|
50
|
+
key_compare_func,
|
|
51
|
+
original_array,
|
|
52
|
+
array1,
|
|
53
|
+
array2,
|
|
54
|
+
);
|
|
55
|
+
console.log(result); // { c: 3 }
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
2. Обработка пустых массивов:
|
|
59
|
+
|
|
60
|
+
```js
|
|
61
|
+
const value_compare_func = (a, b) => a === b;
|
|
62
|
+
const key_compare_func = (a, b) => a === b;
|
|
63
|
+
const original_array = {};
|
|
64
|
+
const array1 = {};
|
|
65
|
+
const result = array_udiff_uassoc(value_compare_func, key_compare_func, original_array, array1);
|
|
66
|
+
console.log(result); // {}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
3. Обработка значений, не являющихся массивами:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
try {
|
|
73
|
+
const result = array_udiff_uassoc('not a function', 'not a function', 'not an array');
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.error(e.message); // Параметр "value_compare_func" должен быть функцией.
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
4. Сравнение массивов с различными типами данных:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const value_compare_func = (a, b) => a === b;
|
|
83
|
+
const key_compare_func = (a, b) => a === b;
|
|
84
|
+
const original_array = { a: 1, b: '2', c: true };
|
|
85
|
+
const array1 = { a: 1, b: 2, d: false };
|
|
86
|
+
const result = array_udiff_uassoc(value_compare_func, key_compare_func, original_array, array1);
|
|
87
|
+
console.log(result); // { b: '2', c: true }
|
|
88
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_uintersect
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_uintersect.mjs)
|
|
4
|
+
|
|
5
|
+
# array_uintersect
|
|
6
|
+
|
|
7
|
+
`array_uintersect` — Вычисляет пересечение между массивами с использованием пользовательской
|
|
8
|
+
функции сравнения для значений.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_uintersect(
|
|
14
|
+
value_compare_func: function,
|
|
15
|
+
original_array: object,
|
|
16
|
+
...arrays: object[]
|
|
17
|
+
): object;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Описание
|
|
21
|
+
|
|
22
|
+
Функция `array_uintersect` используется для вычисления пересечения между массивами с использованием
|
|
23
|
+
пользовательской функции сравнения для значений. Она возвращает массив, содержащий элементы из
|
|
24
|
+
первого массива, которые присутствуют в других массивах.
|
|
25
|
+
|
|
26
|
+
## Параметры
|
|
27
|
+
|
|
28
|
+
- `value_compare_func` (function): Функция для сравнения значений.
|
|
29
|
+
- `original_array` (object): Исходный массив.
|
|
30
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
31
|
+
|
|
32
|
+
## Возвращаемое значение
|
|
33
|
+
|
|
34
|
+
Возвращает массив, содержащий элементы из первого массива, которые присутствуют в других массивах.
|
|
35
|
+
|
|
36
|
+
## Примеры использования
|
|
37
|
+
|
|
38
|
+
1. Сравнение массивов с использованием пользовательской функции сравнения:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const value_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_uintersect(value_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 value_compare_func = (a, b) => a === b;
|
|
53
|
+
const original_array = {};
|
|
54
|
+
const array1 = {};
|
|
55
|
+
const result = array_uintersect(value_compare_func, original_array, array1);
|
|
56
|
+
console.log(result); // {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Обработка значений, не являющихся массивами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
try {
|
|
63
|
+
const result = array_uintersect('not a function', 'not an array');
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error(e.message); // Параметр "value_compare_func" должен быть функцией.
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
4. Сравнение массивов с различными типами данных:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const value_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_uintersect(value_compare_func, original_array, array1);
|
|
76
|
+
console.log(result); // { a: 1 }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
5. Сравнение нескольких массивов:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
const value_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_uintersect(value_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 value_compare_func = (a, b) => JSON.stringify(a) === JSON.stringify(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_uintersect(value_compare_func, original_array, array1);
|
|
100
|
+
console.log(result); // { a: { id: 1, data: [1, 2] } }
|
|
101
|
+
```
|