@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_pop
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_pop.mjs)
|
|
4
|
+
|
|
5
|
+
# array_pop
|
|
6
|
+
|
|
7
|
+
`array_pop` — Удаляет и возвращает последний элемент массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_pop(arr: object): any;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_pop` используется для удаления и возврата последнего элемента массива. Она
|
|
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_pop(array);
|
|
35
|
+
console.log(result); // 3
|
|
36
|
+
console.log(array); // [1, 2]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Удаление и возврат последнего элемента ассоциативного массива:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const result = array_pop(array);
|
|
44
|
+
console.log(result); // 3
|
|
45
|
+
console.log(array); // { a: 1, b: 2 }
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
3. Обработка пустого массива:
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
const array = [];
|
|
52
|
+
const result = array_pop(array);
|
|
53
|
+
console.log(result); // null
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
4. Обработка значений, не являющихся массивами:
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
try {
|
|
60
|
+
const result = array_pop('not an array');
|
|
61
|
+
} catch (e) {
|
|
62
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
63
|
+
}
|
|
64
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_product
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_product.mjs)
|
|
4
|
+
|
|
5
|
+
# array_product
|
|
6
|
+
|
|
7
|
+
`array_product` — Вычисляет произведение значений массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_product(arr: object): number;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_product` используется для вычисления произведения всех значений в массиве. Она
|
|
18
|
+
поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `arr` (object): Исходный массив.
|
|
23
|
+
|
|
24
|
+
## Возвращаемое значение
|
|
25
|
+
|
|
26
|
+
Возвращает произведение всех значений в массиве. Если массив пустой, возвращает `1`.
|
|
27
|
+
|
|
28
|
+
## Примеры использования
|
|
29
|
+
|
|
30
|
+
1. Вычисление произведения значений обычного массива:
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
const array = [1, 2, 3, 4];
|
|
34
|
+
const result = array_product(array);
|
|
35
|
+
console.log(result); // 24
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Вычисление произведения значений ассоциативного массива:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
42
|
+
const result = array_product(array);
|
|
43
|
+
console.log(result); // 6
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
3. Обработка пустого массива:
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
const array = [];
|
|
50
|
+
const result = array_product(array);
|
|
51
|
+
console.log(result); // 1
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
4. Обработка значений, не являющихся массивами:
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
try {
|
|
58
|
+
const result = array_product('not an array');
|
|
59
|
+
} catch (e) {
|
|
60
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
61
|
+
}
|
|
62
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_push
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_push.mjs)
|
|
4
|
+
|
|
5
|
+
# array_push
|
|
6
|
+
|
|
7
|
+
`array_push` — Добавляет один или несколько элементов в конец массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_push(arr: object, ...values: any[]): number;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_push` используется для добавления одного или нескольких элементов в конец массива.
|
|
18
|
+
Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `arr` (object): Исходный массив.
|
|
23
|
+
- `...values` (any[]): Значения, которые необходимо добавить в массив.
|
|
24
|
+
|
|
25
|
+
## Возвращаемое значение
|
|
26
|
+
|
|
27
|
+
Возвращает новую длину массива после добавления элементов.
|
|
28
|
+
|
|
29
|
+
## Примеры использования
|
|
30
|
+
|
|
31
|
+
1. Добавление элементов в обычный массив:
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const array = [1, 2, 3];
|
|
35
|
+
const result = array_push(array, 4, 5);
|
|
36
|
+
console.log(result); // 5
|
|
37
|
+
console.log(array); // [1, 2, 3, 4, 5]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
2. Добавление элементов в ассоциативный массив:
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
const array = { a: 1, b: 2 };
|
|
44
|
+
const result = array_push(array, 3, 4);
|
|
45
|
+
console.log(result); // 4
|
|
46
|
+
console.log(array); // { a: 1, b: 2, 0: 3, 1: 4 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
3. Обработка значений, не являющихся массивами:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
try {
|
|
53
|
+
const result = array_push('not an array', 1, 2);
|
|
54
|
+
} catch (e) {
|
|
55
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
56
|
+
}
|
|
57
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_rand
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_rand.mjs)
|
|
4
|
+
|
|
5
|
+
# array_rand
|
|
6
|
+
|
|
7
|
+
`array_rand` — Возвращает один или несколько случайных ключей из массива.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_rand(arr: object, count: number = 1): any;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_rand` используется для получения одного или нескольких случайных ключей из массива.
|
|
18
|
+
Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `arr` (object): Исходный массив.
|
|
23
|
+
- `count` (number): Количество случайных ключей для возврата. По умолчанию `1`.
|
|
24
|
+
|
|
25
|
+
## Возвращаемое значение
|
|
26
|
+
|
|
27
|
+
Возвращает один или несколько случайных ключей из массива. Если массив пустой, возвращает `null`.
|
|
28
|
+
|
|
29
|
+
## Примеры использования
|
|
30
|
+
|
|
31
|
+
1. Получение одного случайного ключа из обычного массива:
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const array = [1, 2, 3, 4, 5];
|
|
35
|
+
const result = array_rand(array);
|
|
36
|
+
console.log(result); // Например, 2
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Получение одного случайного ключа из ассоциативного массива:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const result = array_rand(array);
|
|
44
|
+
console.log(result); // Например, 'b'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
3. Получение нескольких случайных ключей из обычного массива:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
const array = [1, 2, 3, 4, 5];
|
|
51
|
+
const result = array_rand(array, 3);
|
|
52
|
+
console.log(result); // Например, [0, 2, 4]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
4. Получение нескольких случайных ключей из ассоциативного массива:
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
const array = { a: 1, b: 2, c: 3, d: 4, e: 5 };
|
|
59
|
+
const result = array_rand(array, 3);
|
|
60
|
+
console.log(result); // Например, [ 'b', 'e', 'a' ]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
5. Обработка пустого массива:
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
const array = [];
|
|
67
|
+
const result = array_rand(array);
|
|
68
|
+
console.log(result); // null
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
6. Обработка значений, не являющихся массивами:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
try {
|
|
75
|
+
const result = array_rand('not an array');
|
|
76
|
+
} catch (e) {
|
|
77
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
7. Обработка значений параметра count, не являющихся целыми числами:
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
try {
|
|
85
|
+
const result = array_rand([1, 2, 3], 'not a number');
|
|
86
|
+
} catch (e) {
|
|
87
|
+
console.error(e.message); // Параметр "count" должен быть целым числом.
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
8. Обработка значений параметра count, выходящих за пределы длины массива:
|
|
92
|
+
|
|
93
|
+
```js
|
|
94
|
+
try {
|
|
95
|
+
const result = array_rand([1, 2, 3], 5);
|
|
96
|
+
} catch (e) {
|
|
97
|
+
console.error(e.message); // Значение параметра "count" выходит за пределы длины массива.
|
|
98
|
+
}
|
|
99
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_reduce
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_reduce.mjs)
|
|
4
|
+
|
|
5
|
+
# array_reduce
|
|
6
|
+
|
|
7
|
+
`array_reduce` — Применяет функцию обратного вызова к каждому элементу массива (слева
|
|
8
|
+
направо), чтобы уменьшить его до одного значения.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_reduce(arr: object, callback: function, initial: any = null): any;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Описание
|
|
17
|
+
|
|
18
|
+
Функция `array_reduce` используется для последовательного применения функции обратного вызова к
|
|
19
|
+
каждому элементу массива, чтобы уменьшить его до одного значения. Она поддерживает как обычные
|
|
20
|
+
массивы, так и ассоциативные массивы (объекты с ключами и значениями).
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `arr` (object): Исходный массив.
|
|
25
|
+
- `callback` (function): Функция обратного вызова, применяемая к каждому элементу массива.
|
|
26
|
+
- `initial` (any): Начальное значение для аккумулятора. По умолчанию `null`.
|
|
27
|
+
|
|
28
|
+
## Возвращаемое значение
|
|
29
|
+
|
|
30
|
+
Возвращает одно значение, полученное в результате последовательного применения функции обратного
|
|
31
|
+
вызова к каждому элементу массива.
|
|
32
|
+
|
|
33
|
+
## Примеры использования
|
|
34
|
+
|
|
35
|
+
1. Суммирование элементов массива:
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
const array = [1, 2, 3, 4];
|
|
39
|
+
const sum = array_reduce(array, (acc, value) => acc + value, 0);
|
|
40
|
+
console.log(sum); // 10
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
2. Объединение строк:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
const array = ['a', 'b', 'c'];
|
|
47
|
+
const result = array_reduce(array, (acc, value) => acc + value, '');
|
|
48
|
+
console.log(result); // 'abc'
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
3. Обработка ассоциативного массива:
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
55
|
+
const sum = array_reduce(array, (acc, value) => acc + value, 0);
|
|
56
|
+
console.log(sum); // 6
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
4. Обработка значений, не являющихся массивами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
try {
|
|
63
|
+
const result = array_reduce('not an array', (acc, value) => acc + value, 0);
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
5. Обработка значений, не являющихся функциями:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
try {
|
|
73
|
+
const result = array_reduce([1, 2, 3], 'not a function', 0);
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.error(e.message); // Параметр "callback" должен быть функцией.
|
|
76
|
+
}
|
|
77
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_replace
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_replace.mjs)
|
|
4
|
+
|
|
5
|
+
# array_replace
|
|
6
|
+
|
|
7
|
+
`array_replace` — Заменяет значения в массиве на значения из других массивов.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_replace(arr: object, ...replacements: object[]): object;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_replace` используется для замены значений в массиве на значения из других массивов.
|
|
18
|
+
Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `arr` (object): Исходный массив.
|
|
23
|
+
- `...replacements` (object[]): Массивы с заменами.
|
|
24
|
+
|
|
25
|
+
## Возвращаемое значение
|
|
26
|
+
|
|
27
|
+
Возвращает новый массив с заменёнными значениями.
|
|
28
|
+
|
|
29
|
+
## Примеры использования
|
|
30
|
+
|
|
31
|
+
1. Замена значений в обычном массиве:
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const array = [1, 2, 3];
|
|
35
|
+
const replacements = { 1: 4, 2: 5 };
|
|
36
|
+
const result = array_replace(array, replacements);
|
|
37
|
+
console.log(result); // [1, 4, 5]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
2. Замена значений в ассоциативном массиве:
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
44
|
+
const replacements = { b: 4, c: 5 };
|
|
45
|
+
const result = array_replace(array, replacements);
|
|
46
|
+
console.log(result); // { a: 1, b: 4, c: 5 }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
3. Возвращение массива без изменений, если замены не указаны:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const array = [1, 2, 3];
|
|
53
|
+
const replacements = {};
|
|
54
|
+
const result = array_replace(array, replacements);
|
|
55
|
+
console.log(result); // [1, 2, 3]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
4. Возвращение массива без изменений, если замены не соответствуют ключам:
|
|
59
|
+
|
|
60
|
+
```js
|
|
61
|
+
const array = [1, 2, 3];
|
|
62
|
+
const replacements = { 3: 4, 4: 5 };
|
|
63
|
+
const result = array_replace(array, replacements);
|
|
64
|
+
console.log(result); // [1, 2, 3]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
5. Обработка значений, не являющихся массивами:
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
try {
|
|
71
|
+
const result = array_replace('not an array', { 1: 4 });
|
|
72
|
+
} catch (e) {
|
|
73
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
6. Обработка значений замен, не являющихся массивами:
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
try {
|
|
81
|
+
const result = array_replace([1, 2, 3], 'not an array');
|
|
82
|
+
} catch (e) {
|
|
83
|
+
console.error(e.message); // Параметр "replacements" должен быть массивом.
|
|
84
|
+
}
|
|
85
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_replace_recursive
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_replace_recursive.mjs)
|
|
4
|
+
|
|
5
|
+
# array_replace_recursive
|
|
6
|
+
|
|
7
|
+
`array_replace_recursive` — Рекурсивно заменяет значения в массиве на значения из других
|
|
8
|
+
массивов.
|
|
9
|
+
|
|
10
|
+
## Сигнатура функции
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
function array_replace_recursive(arr: object, ...replacements: object[]): object;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Описание
|
|
17
|
+
|
|
18
|
+
Функция `array_replace_recursive` используется для рекурсивной замены значений в массиве на значения
|
|
19
|
+
из других массивов. Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с
|
|
20
|
+
ключами и значениями).
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `arr` (object): Исходный массив.
|
|
25
|
+
- `...replacements` (object[]): Массивы с заменами.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Возвращает новый массив с рекурсивно заменёнными значениями.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Рекурсивная замена значений в обычном массиве:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const array = [1, 2, [3, 4]];
|
|
37
|
+
const replacements = { 2: [5, 6] };
|
|
38
|
+
const result = array_replace_recursive(array, replacements);
|
|
39
|
+
console.log(result); // [1, 2, [5, 6]]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
2. Рекурсивная замена значений в ассоциативном массиве:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
const array = { a: 1, b: { c: 2, d: 3 } };
|
|
46
|
+
const replacements = { b: { c: 4, e: 5 } };
|
|
47
|
+
const result = array_replace_recursive(array, replacements);
|
|
48
|
+
console.log(result); // { a: 1, b: { c: 4, d: 3 } }
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
3. Возвращение массива без изменений, если замены не указаны:
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
const array = [1, 2, 3];
|
|
55
|
+
const replacements = {};
|
|
56
|
+
const result = array_replace_recursive(array, replacements);
|
|
57
|
+
console.log(result); // [1, 2, 3]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
4. Возвращение массива без изменений, если замены не соответствуют ключам:
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
const array = [1, 2, 3];
|
|
64
|
+
const replacements = { 3: 4, 4: 5 };
|
|
65
|
+
const result = array_replace_recursive(array, replacements);
|
|
66
|
+
console.log(result); // [1, 2, 3]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
5. Обработка значений, не являющихся массивами:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
try {
|
|
73
|
+
const result = array_replace_recursive('not an array', { 1: 4 });
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
6. Обработка значений замен, не являющихся массивами:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
try {
|
|
83
|
+
const result = array_replace_recursive([1, 2, 3], 'not an array');
|
|
84
|
+
} catch (e) {
|
|
85
|
+
console.error(e.message); // Параметр "replacements" должен быть массивом.
|
|
86
|
+
}
|
|
87
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_reverse
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_reverse.mjs)
|
|
4
|
+
|
|
5
|
+
# array_reverse
|
|
6
|
+
|
|
7
|
+
`array_reverse` — Переворачивает массив, изменяя порядок его элементов на обратный.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_reverse(arr: object): object;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_reverse` используется для переворачивания массива, изменяя порядок его элементов на
|
|
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];
|
|
35
|
+
const result = array_reverse(array);
|
|
36
|
+
console.log(result); // [3, 2, 1]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Переворачивание ассоциативного массива:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
43
|
+
const result = array_reverse(array);
|
|
44
|
+
console.log(result); // [['c', 3], ['b', 2], ['a', 1]]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
3. Обработка значений, не являющихся массивами:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
try {
|
|
51
|
+
const result = array_reverse('not an array');
|
|
52
|
+
} catch (e) {
|
|
53
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
54
|
+
}
|
|
55
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_search
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_search.mjs)
|
|
4
|
+
|
|
5
|
+
# array_search
|
|
6
|
+
|
|
7
|
+
`array_search` — Ищет значение в массиве и возвращает ключ первого найденного элемента.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_search(arr: object, value: any, strict: boolean = false): any;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_search` используется для поиска значения в массиве и возвращает ключ первого
|
|
18
|
+
найденного элемента. Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с
|
|
19
|
+
ключами и значениями). Функция может работать в строгом режиме, сравнивая значения с учетом типа.
|
|
20
|
+
Также можно передать функцию для поиска, которая будет применяться к каждому элементу массива.
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `arr` (object): Исходный массив.
|
|
25
|
+
- `value` (any): Значение для поиска или функция для поиска.
|
|
26
|
+
- `strict` (boolean): Флаг строгого сравнения. По умолчанию `false`.
|
|
27
|
+
|
|
28
|
+
## Возвращаемое значение
|
|
29
|
+
|
|
30
|
+
Возвращает ключ первого найденного элемента. Если значение не найдено, возвращает `null`.
|
|
31
|
+
|
|
32
|
+
## Примеры использования
|
|
33
|
+
|
|
34
|
+
1. Поиск значения в обычном массиве:
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
const array = [1, 2, 3, 4, 5];
|
|
38
|
+
const result = array_search(array, 3);
|
|
39
|
+
console.log(result); // 2
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
2. Поиск значения в ассоциативном массиве:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
const array = { a: 1, b: 2, c: 3 };
|
|
46
|
+
const result = array_search(array, 2);
|
|
47
|
+
console.log(result); // 'b'
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
3. Поиск значения с использованием строгого сравнения:
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
const array = [1, '2', 3];
|
|
54
|
+
const result = array_search(array, 2, true);
|
|
55
|
+
console.log(result); // null
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
4. Поиск значения с использованием функции:
|
|
59
|
+
|
|
60
|
+
```js
|
|
61
|
+
const array = [1, 2, 3, 4, 5];
|
|
62
|
+
const result = array_search(array, (v) => v > 3);
|
|
63
|
+
console.log(result); // 3
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
5. Обработка значений, не являющихся массивами:
|
|
67
|
+
|
|
68
|
+
```js
|
|
69
|
+
try {
|
|
70
|
+
const result = array_search('not an array', 1);
|
|
71
|
+
} catch (e) {
|
|
72
|
+
console.error(e.message); // Параметр "arr" должен быть массивом.
|
|
73
|
+
}
|
|
74
|
+
```
|