@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.
Files changed (203) hide show
  1. package/CHANGELOG.md +142 -1
  2. package/docs/helpers/array/array_chunk.md +80 -0
  3. package/docs/helpers/array/array_chunk_with_keys.md +81 -0
  4. package/docs/helpers/array/array_column.md +110 -0
  5. package/docs/helpers/array/array_combine.md +77 -0
  6. package/docs/helpers/array/array_count_values.md +71 -0
  7. package/docs/helpers/array/array_diff.md +97 -0
  8. package/docs/helpers/array/array_diff_assoc.md +81 -0
  9. package/docs/helpers/array/array_diff_key.md +81 -0
  10. package/docs/helpers/array/array_diff_uassoc.md +101 -0
  11. package/docs/helpers/array/array_diff_ukey.md +101 -0
  12. package/docs/helpers/array/array_fill.md +81 -0
  13. package/docs/helpers/array/array_fill_keys.md +73 -0
  14. package/docs/helpers/array/array_filter.md +79 -0
  15. package/docs/helpers/array/array_flip.md +70 -0
  16. package/docs/helpers/array/array_index_max.md +78 -0
  17. package/docs/helpers/array/array_index_min.md +78 -0
  18. package/docs/helpers/array/array_intersect.md +91 -0
  19. package/docs/helpers/array/array_intersect_assoc.md +91 -0
  20. package/docs/helpers/array/array_intersect_key.md +91 -0
  21. package/docs/helpers/array/array_intersect_uassoc.md +101 -0
  22. package/docs/helpers/array/array_intersect_ukey.md +101 -0
  23. package/docs/helpers/array/array_key_exists.md +73 -0
  24. package/docs/helpers/array/array_key_first.md +62 -0
  25. package/docs/helpers/array/array_key_last.md +62 -0
  26. package/docs/helpers/array/array_key_to_lower_case.md +57 -0
  27. package/docs/helpers/array/array_key_to_upper_case.md +57 -0
  28. package/docs/helpers/array/array_keys.md +62 -0
  29. package/docs/helpers/array/array_map.md +69 -0
  30. package/docs/helpers/array/array_merge.md +67 -0
  31. package/docs/helpers/array/array_merge_recursive.md +86 -0
  32. package/docs/helpers/array/array_pad.md +83 -0
  33. package/docs/helpers/array/array_pop.md +64 -0
  34. package/docs/helpers/array/array_product.md +62 -0
  35. package/docs/helpers/array/array_push.md +57 -0
  36. package/docs/helpers/array/array_rand.md +99 -0
  37. package/docs/helpers/array/array_reduce.md +77 -0
  38. package/docs/helpers/array/array_replace.md +85 -0
  39. package/docs/helpers/array/array_replace_recursive.md +87 -0
  40. package/docs/helpers/array/array_reverse.md +55 -0
  41. package/docs/helpers/array/array_search.md +74 -0
  42. package/docs/helpers/array/array_shift.md +64 -0
  43. package/docs/helpers/array/array_slice.md +65 -0
  44. package/docs/helpers/array/array_splice.md +103 -0
  45. package/docs/helpers/array/array_sum.md +55 -0
  46. package/docs/helpers/array/array_udiff.md +97 -0
  47. package/docs/helpers/array/array_udiff_assoc.md +101 -0
  48. package/docs/helpers/array/array_udiff_uassoc.md +88 -0
  49. package/docs/helpers/array/array_uintersect.md +101 -0
  50. package/docs/helpers/array/array_uintersect_assoc.md +102 -0
  51. package/docs/helpers/array/array_uintersect_uassoc.md +135 -0
  52. package/docs/helpers/array/array_unique.md +54 -0
  53. package/docs/helpers/array/array_unshift.md +58 -0
  54. package/docs/helpers/array/array_values.md +54 -0
  55. package/docs/helpers/array/array_walk.md +87 -0
  56. package/docs/helpers/array/array_walk_recursive.md +93 -0
  57. package/docs/helpers/array/count.md +54 -0
  58. package/docs/helpers/array/in_array.md +65 -0
  59. package/docs/helpers/array/natsort.md +60 -0
  60. package/docs/helpers/array/range.md +76 -0
  61. package/docs/helpers/array/shuffle.md +74 -0
  62. package/docs/helpers/array/sort.md +79 -0
  63. package/docs/helpers/is_char.md +84 -0
  64. package/docs/helpers/string/is_digit_char.md +70 -0
  65. package/docs/helpers/string/is_whitespace_char.md +70 -0
  66. package/docs/helpers/string/natcompare.md +69 -0
  67. package/docs/helpers/string/natcompare_numeric.md +70 -0
  68. package/docs/helpers.md +125 -1
  69. package/index.mjs +66 -1
  70. package/package.json +2 -1
  71. package/prettier.config.mjs +2 -1
  72. package/src/helpers/array/array_chunk.mjs +102 -0
  73. package/src/helpers/array/array_chunk_with_keys.mjs +102 -0
  74. package/src/helpers/array/array_column.mjs +131 -0
  75. package/src/helpers/array/array_combine.mjs +26 -0
  76. package/src/helpers/array/array_count_values.mjs +82 -0
  77. package/src/helpers/array/array_diff.mjs +77 -0
  78. package/src/helpers/array/array_diff_assoc.mjs +56 -0
  79. package/src/helpers/array/array_diff_key.mjs +56 -0
  80. package/src/helpers/array/array_diff_uassoc.mjs +76 -0
  81. package/src/helpers/array/array_diff_ukey.mjs +71 -0
  82. package/src/helpers/array/array_fill.mjs +108 -0
  83. package/src/helpers/array/array_fill_keys.mjs +90 -0
  84. package/src/helpers/array/array_filter.mjs +105 -0
  85. package/src/helpers/array/array_flip.mjs +58 -0
  86. package/src/helpers/array/array_index_max.mjs +82 -0
  87. package/src/helpers/array/array_index_min.mjs +82 -0
  88. package/src/helpers/array/array_intersect.mjs +71 -0
  89. package/src/helpers/array/array_intersect_assoc.mjs +67 -0
  90. package/src/helpers/array/array_intersect_key.mjs +67 -0
  91. package/src/helpers/array/array_intersect_uassoc.mjs +77 -0
  92. package/src/helpers/array/array_intersect_ukey.mjs +72 -0
  93. package/src/helpers/array/array_key_exists.mjs +83 -0
  94. package/src/helpers/array/array_key_first.mjs +73 -0
  95. package/src/helpers/array/array_key_last.mjs +74 -0
  96. package/src/helpers/array/array_key_to_lower_case.mjs +71 -0
  97. package/src/helpers/array/array_key_to_upper_case.mjs +71 -0
  98. package/src/helpers/array/array_keys.mjs +65 -0
  99. package/src/helpers/array/array_map.mjs +84 -0
  100. package/src/helpers/array/array_merge.mjs +95 -0
  101. package/src/helpers/array/array_merge_recursive.mjs +153 -0
  102. package/src/helpers/array/array_pad.mjs +105 -0
  103. package/src/helpers/array/array_pop.mjs +82 -0
  104. package/src/helpers/array/array_product.mjs +67 -0
  105. package/src/helpers/array/array_push.mjs +75 -0
  106. package/src/helpers/array/array_rand.mjs +129 -0
  107. package/src/helpers/array/array_reduce.mjs +90 -0
  108. package/src/helpers/array/array_replace.mjs +25 -0
  109. package/src/helpers/array/array_replace_recursive.mjs +109 -0
  110. package/src/helpers/array/array_reverse.mjs +62 -0
  111. package/src/helpers/array/array_search.mjs +104 -0
  112. package/src/helpers/array/array_shift.mjs +78 -0
  113. package/src/helpers/array/array_slice.mjs +99 -0
  114. package/src/helpers/array/array_splice.mjs +218 -0
  115. package/src/helpers/array/array_sum.mjs +60 -0
  116. package/src/helpers/array/array_udiff.mjs +91 -0
  117. package/src/helpers/array/array_udiff_assoc.mjs +71 -0
  118. package/src/helpers/array/array_udiff_uassoc.mjs +124 -0
  119. package/src/helpers/array/array_uintersect.mjs +72 -0
  120. package/src/helpers/array/array_uintersect_assoc.mjs +77 -0
  121. package/src/helpers/array/array_uintersect_uassoc.mjs +121 -0
  122. package/src/helpers/array/array_unique.mjs +77 -0
  123. package/src/helpers/array/array_unshift.mjs +64 -0
  124. package/src/helpers/array/array_values.mjs +57 -0
  125. package/src/helpers/array/array_walk.mjs +95 -0
  126. package/src/helpers/array/array_walk_recursive.mjs +104 -0
  127. package/src/helpers/array/count.mjs +57 -0
  128. package/src/helpers/array/in_array.mjs +67 -0
  129. package/src/helpers/array/natsort.mjs +62 -0
  130. package/src/helpers/array/range.mjs +121 -0
  131. package/src/helpers/array/shuffle.mjs +73 -0
  132. package/src/helpers/array/sort.mjs +69 -0
  133. package/src/helpers/is_char.mjs +54 -0
  134. package/src/helpers/string/is_digit_char.mjs +60 -0
  135. package/src/helpers/string/is_whitespace_char.mjs +54 -0
  136. package/src/helpers/string/natcompare.mjs +107 -0
  137. package/src/helpers/string/natcompare_numeric.mjs +131 -0
  138. package/tests/helpers/array/array_chunk.test.mjs +49 -0
  139. package/tests/helpers/array/array_chunk_with_keys.test.mjs +45 -0
  140. package/tests/helpers/array/array_column.test.mjs +87 -0
  141. package/tests/helpers/array/array_combine.test.mjs +41 -0
  142. package/tests/helpers/array/array_count_values.test.mjs +40 -0
  143. package/tests/helpers/array/array_diff.test.mjs +78 -0
  144. package/tests/helpers/array/array_diff_assoc.test.mjs +64 -0
  145. package/tests/helpers/array/array_diff_key.test.mjs +64 -0
  146. package/tests/helpers/array/array_diff_uassoc.test.mjs +73 -0
  147. package/tests/helpers/array/array_diff_ukey.test.mjs +77 -0
  148. package/tests/helpers/array/array_fill.test.mjs +47 -0
  149. package/tests/helpers/array/array_fill_keys.test.mjs +35 -0
  150. package/tests/helpers/array/array_filter.test.mjs +38 -0
  151. package/tests/helpers/array/array_flip.test.mjs +33 -0
  152. package/tests/helpers/array/array_index_max.test.mjs +41 -0
  153. package/tests/helpers/array/array_index_min.test.mjs +41 -0
  154. package/tests/helpers/array/array_intersect.test.mjs +65 -0
  155. package/tests/helpers/array/array_intersect_assoc.test.mjs +65 -0
  156. package/tests/helpers/array/array_intersect_key.test.mjs +65 -0
  157. package/tests/helpers/array/array_intersect_uassoc.test.mjs +76 -0
  158. package/tests/helpers/array/array_intersect_ukey.test.mjs +74 -0
  159. package/tests/helpers/array/array_key_exists.test.mjs +36 -0
  160. package/tests/helpers/array/array_key_first.test.mjs +29 -0
  161. package/tests/helpers/array/array_key_last.test.mjs +29 -0
  162. package/tests/helpers/array/array_key_to_lower_case.test.mjs +23 -0
  163. package/tests/helpers/array/array_key_to_upper_case.test.mjs +23 -0
  164. package/tests/helpers/array/array_keys.test.mjs +27 -0
  165. package/tests/helpers/array/array_map.test.mjs +32 -0
  166. package/tests/helpers/array/array_merge.test.mjs +37 -0
  167. package/tests/helpers/array/array_merge_recursive.test.mjs +65 -0
  168. package/tests/helpers/array/array_pad.test.mjs +48 -0
  169. package/tests/helpers/array/array_pop.test.mjs +29 -0
  170. package/tests/helpers/array/array_product.test.mjs +33 -0
  171. package/tests/helpers/array/array_push.test.mjs +31 -0
  172. package/tests/helpers/array/array_rand.test.mjs +59 -0
  173. package/tests/helpers/array/array_reduce.test.mjs +44 -0
  174. package/tests/helpers/array/array_replace.test.mjs +46 -0
  175. package/tests/helpers/array/array_replace_recursive.test.mjs +46 -0
  176. package/tests/helpers/array/array_reverse.test.mjs +31 -0
  177. package/tests/helpers/array/array_search.test.mjs +48 -0
  178. package/tests/helpers/array/array_shift.test.mjs +29 -0
  179. package/tests/helpers/array/array_slice.test.mjs +49 -0
  180. package/tests/helpers/array/array_splice.test.mjs +67 -0
  181. package/tests/helpers/array/array_sum.test.mjs +27 -0
  182. package/tests/helpers/array/array_udiff.test.mjs +95 -0
  183. package/tests/helpers/array/array_udiff_assoc.test.mjs +77 -0
  184. package/tests/helpers/array/array_udiff_uassoc.test.mjs +89 -0
  185. package/tests/helpers/array/array_uintersect.test.mjs +78 -0
  186. package/tests/helpers/array/array_uintersect_assoc.test.mjs +80 -0
  187. package/tests/helpers/array/array_uintersect_uassoc.test.mjs +122 -0
  188. package/tests/helpers/array/array_unique.test.mjs +27 -0
  189. package/tests/helpers/array/array_unshift.test.mjs +31 -0
  190. package/tests/helpers/array/array_values.test.mjs +27 -0
  191. package/tests/helpers/array/array_walk.test.mjs +48 -0
  192. package/tests/helpers/array/array_walk_recursive.test.mjs +53 -0
  193. package/tests/helpers/array/count.test.mjs +27 -0
  194. package/tests/helpers/array/in_array.test.mjs +52 -0
  195. package/tests/helpers/array/natsort.test.mjs +71 -0
  196. package/tests/helpers/array/range.test.mjs +51 -0
  197. package/tests/helpers/array/shuffle.test.mjs +42 -0
  198. package/tests/helpers/array/sort.test.mjs +60 -0
  199. package/tests/helpers/is_char.test.mjs +40 -0
  200. package/tests/helpers/string/is_digit_char.test.mjs +32 -0
  201. package/tests/helpers/string/is_whitespace_char.test.mjs +32 -0
  202. package/tests/helpers/string/natcompare.test.mjs +100 -0
  203. package/tests/helpers/string/natcompare_numeric.test.mjs +110 -0
@@ -0,0 +1,102 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_uintersect_assoc
2
+
3
+ [Исходный код](../../../src/helpers/array/array_uintersect_assoc.mjs)
4
+
5
+ # array_uintersect_assoc
6
+
7
+ `array_uintersect_assoc` — Вычисляет пересечение между массивами с использованием
8
+ пользовательской функции сравнения для значений и стандартной функции сравнения для ключей.
9
+
10
+ ## Сигнатура функции
11
+
12
+ ```ts
13
+ function array_uintersect_assoc(
14
+ value_compare_func: function,
15
+ original_array: object,
16
+ ...arrays: object[]
17
+ ): object;
18
+ ```
19
+
20
+ ## Описание
21
+
22
+ Функция `array_uintersect_assoc` используется для вычисления пересечения между массивами с
23
+ использованием пользовательской функции сравнения для значений и стандартной функции сравнения для
24
+ ключей. Она возвращает массив, содержащий элементы из первого массива, которые присутствуют в других
25
+ массивах.
26
+
27
+ ## Параметры
28
+
29
+ - `value_compare_func` (function): Функция для сравнения значений.
30
+ - `original_array` (object): Исходный массив.
31
+ - `...arrays` (object): Массивы для сравнения.
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 array2 = { b: 2, c: 3 };
46
+ const result = array_uintersect_assoc(value_compare_func, original_array, array1, array2);
47
+ console.log(result); // { a: 1, b: 2, c: 3 }
48
+ ```
49
+
50
+ 2. Обработка пустых массивов:
51
+
52
+ ```js
53
+ const value_compare_func = (a, b) => a === b;
54
+ const original_array = {};
55
+ const array1 = {};
56
+ const result = array_uintersect_assoc(value_compare_func, original_array, array1);
57
+ console.log(result); // {}
58
+ ```
59
+
60
+ 3. Обработка значений, не являющихся массивами:
61
+
62
+ ```js
63
+ try {
64
+ const result = array_uintersect_assoc('not a function', 'not an array');
65
+ } catch (e) {
66
+ console.error(e.message); // Параметр "value_compare_func" должен быть функцией.
67
+ }
68
+ ```
69
+
70
+ 4. Сравнение массивов с различными типами данных:
71
+
72
+ ```js
73
+ const value_compare_func = (a, b) => a === b;
74
+ const original_array = { a: 1, b: '2', c: true };
75
+ const array1 = { a: 1, b: 2, d: false };
76
+ const result = array_uintersect_assoc(value_compare_func, original_array, array1);
77
+ console.log(result); // { a: 1 }
78
+ ```
79
+
80
+ 5. Сравнение нескольких массивов:
81
+
82
+ ```js
83
+ const value_compare_func = (a, b) => a === b;
84
+ const original_array = { a: 1, b: 2, c: 3, d: 4 };
85
+ const array1 = { a: 1, b: 2 };
86
+ const array2 = { c: 3 };
87
+ const result = array_uintersect_assoc(value_compare_func, original_array, array1, array2);
88
+ console.log(result); // { a: 1, b: 2, c: 3 }
89
+ ```
90
+
91
+ 6. Сравнение массивов с вложенными структурами:
92
+
93
+ ```js
94
+ const value_compare_func = (a, b) => JSON.stringify(a) === JSON.stringify(b);
95
+ const original_array = {
96
+ a: { id: 1, data: [1, 2] },
97
+ b: { id: 2, data: [3, 4] },
98
+ };
99
+ const array1 = { a: { id: 1, data: [1, 2] } };
100
+ const result = array_uintersect_assoc(value_compare_func, original_array, array1);
101
+ console.log(result); // { a: { id: 1, data: [1, 2] } }
102
+ ```
@@ -0,0 +1,135 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_uintersect_uassoc
2
+
3
+ [Исходный код](../../../src/helpers/array/array_uintersect_uassoc.mjs)
4
+
5
+ # array_uintersect_uassoc
6
+
7
+ `array_uintersect_uassoc` — Вычисляет пересечение между массивами с использованием
8
+ пользовательских функций сравнения для значений и ключей.
9
+
10
+ ## Сигнатура функции
11
+
12
+ ```ts
13
+ function array_uintersect_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_uintersect_uassoc` используется для вычисления пересечения между массивами с
24
+ использованием пользовательских функций сравнения для значений и ключей. Она возвращает массив,
25
+ содержащий элементы из первого массива, которые присутствуют в других массивах.
26
+
27
+ ## Параметры
28
+
29
+ - `value_compare_func` (function): Функция для сравнения значений.
30
+ - `key_compare_func` (function): Функция для сравнения ключей.
31
+ - `original_array` (object): Исходный массив.
32
+ - `...arrays` (object): Массивы для сравнения.
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 = { b: 2, c: 3 };
48
+ const result = array_uintersect_uassoc(
49
+ value_compare_func,
50
+ key_compare_func,
51
+ original_array,
52
+ array1,
53
+ array2,
54
+ );
55
+ console.log(result); // { a: 1, b: 2, 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_uintersect_uassoc(
66
+ value_compare_func,
67
+ key_compare_func,
68
+ original_array,
69
+ array1,
70
+ );
71
+ console.log(result); // {}
72
+ ```
73
+
74
+ 3. Обработка значений, не являющихся массивами:
75
+
76
+ ```js
77
+ try {
78
+ const result = array_uintersect_uassoc('not a function', 'not a function', 'not an array');
79
+ } catch (e) {
80
+ console.error(e.message); // Параметр "value_compare_func" должен быть функцией.
81
+ }
82
+ ```
83
+
84
+ 4. Сравнение массивов с различными типами данных:
85
+
86
+ ```js
87
+ const value_compare_func = (a, b) => a === b;
88
+ const key_compare_func = (a, b) => a === b;
89
+ const original_array = { a: 1, b: '2', c: true };
90
+ const array1 = { a: 1, b: 2, d: false };
91
+ const result = array_uintersect_uassoc(
92
+ value_compare_func,
93
+ key_compare_func,
94
+ original_array,
95
+ array1,
96
+ );
97
+ console.log(result); // { a: 1 }
98
+ ```
99
+
100
+ 5. Сравнение нескольких массивов:
101
+
102
+ ```js
103
+ const value_compare_func = (a, b) => a === b;
104
+ const key_compare_func = (a, b) => a === b;
105
+ const original_array = { a: 1, b: 2, c: 3, d: 4 };
106
+ const array1 = { a: 1, b: 2 };
107
+ const array2 = { c: 3 };
108
+ const result = array_uintersect_uassoc(
109
+ value_compare_func,
110
+ key_compare_func,
111
+ original_array,
112
+ array1,
113
+ array2,
114
+ );
115
+ console.log(result); // { a: 1, b: 2, c: 3 }
116
+ ```
117
+
118
+ 6. Сравнение массивов с вложенными структурами:
119
+
120
+ ```js
121
+ const value_compare_func = (a, b) => JSON.stringify(a) === JSON.stringify(b);
122
+ const key_compare_func = (a, b) => a === b;
123
+ const original_array = {
124
+ a: { id: 1, data: [1, 2] },
125
+ b: { id: 2, data: [3, 4] },
126
+ };
127
+ const array1 = { a: { id: 1, data: [1, 2] } };
128
+ const result = array_uintersect_uassoc(
129
+ value_compare_func,
130
+ key_compare_func,
131
+ original_array,
132
+ array1,
133
+ );
134
+ console.log(result); // { a: { id: 1, data: [1, 2] } }
135
+ ```
@@ -0,0 +1,54 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_unique
2
+
3
+ [Исходный код](../../../src/helpers/array/array_unique.mjs)
4
+
5
+ # array_unique
6
+
7
+ `array_unique` — Удаляет дублирующиеся значения из массива.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function array_unique(arr: object): object;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Функция `array_unique` используется для удаления дублирующихся значений из массива. Она поддерживает
18
+ как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
19
+
20
+ ## Параметры
21
+
22
+ - `arr` (object): Исходный массив.
23
+
24
+ ## Возвращаемое значение
25
+
26
+ Возвращает новый массив без дублирующихся значений.
27
+
28
+ ## Примеры использования
29
+
30
+ 1. Удаление дублирующихся значений из обычного массива:
31
+
32
+ ```js
33
+ const array = [1, 2, 2, 3, 4, 4, 5];
34
+ const result = array_unique(array);
35
+ console.log(result); // [1, 2, 3, 4, 5]
36
+ ```
37
+
38
+ 2. Удаление дублирующихся значений из ассоциативного массива:
39
+
40
+ ```js
41
+ const array = { a: 1, b: 2, c: 2, d: 3, e: 4, f: 4, g: 5 };
42
+ const result = array_unique(array);
43
+ console.log(result); // { a: 1, b: 2, d: 3, e: 4, g: 5 }
44
+ ```
45
+
46
+ 3. Обработка значений, не являющихся массивами:
47
+
48
+ ```js
49
+ try {
50
+ const result = array_unique('not an array');
51
+ } catch (e) {
52
+ console.error(e.message); // Параметр "arr" должен быть массивом.
53
+ }
54
+ ```
@@ -0,0 +1,58 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_unshift
2
+
3
+ [Исходный код](../../../src/helpers/array/array_unshift.mjs)
4
+
5
+ # array_unshift
6
+
7
+ `array_unshift` — Добавляет один или несколько элементов в начало массива.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function array_unshift(arr: object, ...values: any[]): number;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Функция `array_unshift` используется для добавления одного или нескольких элементов в начало
18
+ массива. Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и
19
+ значениями).
20
+
21
+ ## Параметры
22
+
23
+ - `arr` (object): Исходный массив.
24
+ - `...values` (any[]): Элементы для добавления в начало массива.
25
+
26
+ ## Возвращаемое значение
27
+
28
+ Возвращает новую длину массива после добавления элементов.
29
+
30
+ ## Примеры использования
31
+
32
+ 1. Добавление элементов в обычный массив:
33
+
34
+ ```js
35
+ const array = [2, 3, 4];
36
+ const result = array_unshift(array, 0, 1);
37
+ console.log(result); // 5
38
+ console.log(array); // [0, 1, 2, 3, 4]
39
+ ```
40
+
41
+ 2. Добавление элементов в ассоциативный массив:
42
+
43
+ ```js
44
+ const array = { b: 2, c: 3 };
45
+ const result = array_unshift(array, { a: 1 });
46
+ console.log(result); // 3
47
+ console.log(array); // { a: 1, b: 2, c: 3 }
48
+ ```
49
+
50
+ 3. Обработка значений, не являющихся массивами:
51
+
52
+ ```js
53
+ try {
54
+ const result = array_unshift('not an array', 1);
55
+ } catch (e) {
56
+ console.error(e.message); // Параметр "arr" должен быть массивом.
57
+ }
58
+ ```
@@ -0,0 +1,54 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_values
2
+
3
+ [Исходный код](../../../src/helpers/array/array_values.mjs)
4
+
5
+ # array_values
6
+
7
+ `array_values` — Возвращает массив значений из переданного массива или объекта.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function array_values(arr: object): any[];
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Функция `array_values` используется для извлечения всех значений из переданного массива или объекта.
18
+ Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и значениями).
19
+
20
+ ## Параметры
21
+
22
+ - `arr` (object): Исходный массив или объект.
23
+
24
+ ## Возвращаемое значение
25
+
26
+ Возвращает массив значений из переданного массива или объекта.
27
+
28
+ ## Примеры использования
29
+
30
+ 1. Извлечение значений из обычного массива:
31
+
32
+ ```js
33
+ const array = [1, 2, 3];
34
+ const result = array_values(array);
35
+ console.log(result); // [1, 2, 3]
36
+ ```
37
+
38
+ 2. Извлечение значений из ассоциативного массива:
39
+
40
+ ```js
41
+ const array = { a: 1, b: 2, c: 3 };
42
+ const result = array_values(array);
43
+ console.log(result); // [1, 2, 3]
44
+ ```
45
+
46
+ 3. Обработка значений, не являющихся массивами:
47
+
48
+ ```js
49
+ try {
50
+ const result = array_values('not an array');
51
+ } catch (e) {
52
+ console.error(e.message); // Параметр "arr" должен быть массивом.
53
+ }
54
+ ```
@@ -0,0 +1,87 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_walk
2
+
3
+ [Исходный код](../../../src/helpers/array/array_walk.mjs)
4
+
5
+ # array_walk
6
+
7
+ `array_walk` — Применяет пользовательскую функцию к каждому элементу массива.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function array_walk(arr: object, callback: function, arg: any = null): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Функция `array_walk` используется для применения пользовательской функции к каждому элементу
18
+ массива. Она поддерживает как обычные массивы, так и ассоциативные массивы (объекты с ключами и
19
+ значениями).
20
+
21
+ ## Параметры
22
+
23
+ - `arr` (object): Исходный массив.
24
+ - `callback` (function): Функция, которая будет применена к каждому элементу массива.
25
+ - `arg` (any): Дополнительный аргумент, который будет передан в функцию обратного вызова. По
26
+ умолчанию `null`.
27
+
28
+ ## Возвращаемое значение
29
+
30
+ Возвращает `true` после успешного выполнения функции для всех элементов массива.
31
+
32
+ ## Примеры использования
33
+
34
+ 1. Применение функции к каждому элементу обычного массива:
35
+
36
+ ```js
37
+ const array = [1, 2, 3];
38
+ array_walk(array, (value, key) => {
39
+ console.log(`Ключ: ${key}, Значение: ${value}`);
40
+ });
41
+ // Вывод:
42
+ // Ключ: 0, Значение: 1
43
+ // Ключ: 1, Значение: 2
44
+ // Ключ: 2, Значение: 3
45
+ ```
46
+
47
+ 2. Применение функции к каждому элементу ассоциативного массива:
48
+
49
+ ```js
50
+ const array = { a: 1, b: 2, c: 3 };
51
+ array_walk(array, (value, key) => {
52
+ console.log(`Ключ: ${key}, Значение: ${value}`);
53
+ });
54
+ // Вывод:
55
+ // Ключ: a, Значение: 1
56
+ // Ключ: b, Значение: 2
57
+ // Ключ: c, Значение: 3
58
+ ```
59
+
60
+ 3. Применение функции с дополнительным аргументом:
61
+
62
+ ```js
63
+ const array = [1, 2, 3];
64
+ array_walk(
65
+ array,
66
+ (value, key, arg) => {
67
+ console.log(`Ключ: ${key}, Значение: ${value}, Аргумент: ${arg}`);
68
+ },
69
+ 'дополнительный аргумент',
70
+ );
71
+ // Вывод:
72
+ // Ключ: 0, Значение: 1, Аргумент: дополнительный аргумент
73
+ // Ключ: 1, Значение: 2, Аргумент: дополнительный аргумент
74
+ // Ключ: 2, Значение: 3, Аргумент: дополнительный аргумент
75
+ ```
76
+
77
+ 4. Обработка значений, не являющихся массивами:
78
+
79
+ ```js
80
+ try {
81
+ array_walk('not an array', (value, key) => {
82
+ console.log(`Ключ: ${key}, Значение: ${value}`);
83
+ });
84
+ } catch (e) {
85
+ console.error(e.message); // Параметр "arr" должен быть массивом.
86
+ }
87
+ ```
@@ -0,0 +1,93 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / array_walk_recursive
2
+
3
+ [Исходный код](../../../src/helpers/array/array_walk_recursive.mjs)
4
+
5
+ # array_walk_recursive
6
+
7
+ `array_walk_recursive` — Применяет пользовательскую функцию к каждому элементу массива
8
+ рекурсивно.
9
+
10
+ ## Сигнатура функции
11
+
12
+ ```ts
13
+ function array_walk_recursive(arr: object, callback: function, arg: any = null): boolean;
14
+ ```
15
+
16
+ ## Описание
17
+
18
+ Функция `array_walk_recursive` используется для применения пользовательской функции к каждому
19
+ элементу массива рекурсивно. Она поддерживает как обычные массивы, так и ассоциативные массивы
20
+ (объекты с ключами и значениями).
21
+
22
+ ## Параметры
23
+
24
+ - `arr` (object): Исходный массив.
25
+ - `callback` (function): Функция, которая будет применена к каждому элементу массива.
26
+ - `arg` (any): Дополнительный аргумент, который будет передан в функцию обратного вызова. По
27
+ умолчанию `null`.
28
+
29
+ ## Возвращаемое значение
30
+
31
+ Возвращает `true` после успешного выполнения функции для всех элементов массива.
32
+
33
+ ## Примеры использования
34
+
35
+ 1. Применение функции к каждому элементу обычного массива:
36
+
37
+ ```js
38
+ const array = [1, 2, [3, 4], 5];
39
+ array_walk_recursive(array, (value, key) => {
40
+ console.log(`Ключ: ${key}, Значение: ${value}`);
41
+ });
42
+ // Вывод:
43
+ // Ключ: 0, Значение: 1
44
+ // Ключ: 1, Значение: 2
45
+ // Ключ: 0, Значение: 3
46
+ // Ключ: 1, Значение: 4
47
+ // Ключ: 3, Значение: 5
48
+ ```
49
+
50
+ 2. Применение функции к каждому элементу ассоциативного массива:
51
+
52
+ ```js
53
+ const array = { a: 1, b: { c: 2, d: 3 }, e: 4 };
54
+ array_walk_recursive(array, (value, key) => {
55
+ console.log(`Ключ: ${key}, Значение: ${value}`);
56
+ });
57
+ // Вывод:
58
+ // Ключ: a, Значение: 1
59
+ // Ключ: c, Значение: 2
60
+ // Ключ: d, Значение: 3
61
+ // Ключ: e, Значение: 4
62
+ ```
63
+
64
+ 3. Применение функции с дополнительным аргументом:
65
+
66
+ ```js
67
+ const array = [1, 2, [3, 4], 5];
68
+ array_walk_recursive(
69
+ array,
70
+ (value, key, arg) => {
71
+ console.log(`Ключ: ${key}, Значение: ${value}, Аргумент: ${arg}`);
72
+ },
73
+ 'дополнительный аргумент',
74
+ );
75
+ // Вывод:
76
+ // Ключ: 0, Значение: 1, Аргумент: дополнительный аргумент
77
+ // Ключ: 1, Значение: 2, Аргумент: дополнительный аргумент
78
+ // Ключ: 0, Значение: 3, Аргумент: дополнительный аргумент
79
+ // Ключ: 1, Значение: 4, Аргумент: дополнительный аргумент
80
+ // Ключ: 3, Значение: 5, Аргумент: дополнительный аргумент
81
+ ```
82
+
83
+ 4. Обработка значений, не являющихся массивами:
84
+
85
+ ```js
86
+ try {
87
+ array_walk_recursive('not an array', (value, key) => {
88
+ console.log(`Ключ: ${key}, Значение: ${value}`);
89
+ });
90
+ } catch (e) {
91
+ console.error(e.message); // Параметр "arr" должен быть массивом.
92
+ }
93
+ ```
@@ -0,0 +1,54 @@
1
+ [Главная](../../../README.md) / [Помощники](../../helpers.md) / count
2
+
3
+ [Исходный код](../../../src/helpers/array/count.mjs)
4
+
5
+ # count
6
+
7
+ `count` — Возвращает количество элементов в массиве или ассоциативном массиве.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function count(arr: object): number;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Функция `count` используется для подсчета количества элементов в массиве или ассоциативном массиве
18
+ (объекте с ключами и значениями). Она поддерживает как обычные массивы, так и ассоциативные массивы.
19
+
20
+ ## Параметры
21
+
22
+ - `arr` (object): Исходный массив или ассоциативный массив.
23
+
24
+ ## Возвращаемое значение
25
+
26
+ Возвращает количество элементов в массиве или ассоциативном массиве.
27
+
28
+ ## Примеры использования
29
+
30
+ 1. Подсчет элементов в обычном массиве:
31
+
32
+ ```js
33
+ const array = [1, 2, 3, 4, 5];
34
+ const result = count(array);
35
+ console.log(result); // 5
36
+ ```
37
+
38
+ 2. Подсчет элементов в ассоциативном массиве:
39
+
40
+ ```js
41
+ const array = { a: 1, b: 2, c: 3 };
42
+ const result = count(array);
43
+ console.log(result); // 3
44
+ ```
45
+
46
+ 3. Обработка значений, не являющихся массивами:
47
+
48
+ ```js
49
+ try {
50
+ const result = count('not an array');
51
+ } catch (e) {
52
+ console.error(e.message); // Параметр "arr" должен быть массивом.
53
+ }
54
+ ```