@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
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,145 @@
|
|
|
1
|
+
# v0.0.4
|
|
2
|
+
|
|
3
|
+
## Добавлено
|
|
4
|
+
|
|
5
|
+
### Помощники для работы с типами данных
|
|
6
|
+
|
|
7
|
+
- [is_char](./docs/helpers/is_char.md) — Проверяет, является ли значение одиночным символом.
|
|
8
|
+
|
|
9
|
+
### Помощники для работы с массивами
|
|
10
|
+
|
|
11
|
+
- [array_chunk_with_keys](./docs/helpers/array/array_chunk_with_keys.md) — Разбивает массив на
|
|
12
|
+
части указанной длины с сохранением ключей.
|
|
13
|
+
- [array_chunk](./docs/helpers/array/array_chunk.md) — Разбивает массив на части указанной
|
|
14
|
+
длины.
|
|
15
|
+
- [array_column](./docs/helpers/array/array_column.md) — Извлекает значения указанного столбца
|
|
16
|
+
из массива объектов.
|
|
17
|
+
- [array_combine](./docs/helpers/array/array_combine.md) — Объединяет два массива в
|
|
18
|
+
ассоциативный массив.
|
|
19
|
+
- [array_count_values](./docs/helpers/array/array_count_values.md) — Подсчитывает количество
|
|
20
|
+
значений в массиве.
|
|
21
|
+
- [array_diff_assoc](./docs/helpers/array/array_diff_assoc.md) — Вычисляет расхождение между
|
|
22
|
+
массивами с использованием стандартной функции сравнения значений и ключей.
|
|
23
|
+
- [array_diff_key](./docs/helpers/array/array_diff_key.md) — Вычисляет расхождение между
|
|
24
|
+
массивами с использованием стандартной функции сравнения ключей.
|
|
25
|
+
- [array_diff_uassoc](./docs/helpers/array/array_diff_uassoc.md) — Вычисляет расхождение между
|
|
26
|
+
массивами с использованием пользовательской функции сравнения ключей.
|
|
27
|
+
- [array_diff_ukey](./docs/helpers/array/array_diff_ukey.md) — Вычисляет расхождение между
|
|
28
|
+
массивами с использованием пользовательской функции сравнения для ключей.
|
|
29
|
+
- [array_diff](./docs/helpers/array/array_diff.md) — Вычисляет расхождение между массивами.
|
|
30
|
+
- [array_fill_keys](./docs/helpers/array/array_fill_keys.md) — Заполняет массив значениями по
|
|
31
|
+
указанным ключам.
|
|
32
|
+
- [array_fill](./docs/helpers/array/array_fill.md) — Заполняет массив значениями, начиная с
|
|
33
|
+
указанного индекса.
|
|
34
|
+
- [array_filter](./docs/helpers/array/array_filter.md) — Фильтрует элементы массива с
|
|
35
|
+
использованием функции обратного вызова.
|
|
36
|
+
- [array_flip](./docs/helpers/array/array_flip.md) — Меняет местами ключи и значения в
|
|
37
|
+
массиве.
|
|
38
|
+
- [array_index_max](./docs/helpers/array/array_index_max.md) — Возвращает максимальный индекс
|
|
39
|
+
массива.
|
|
40
|
+
- [array_index_min](./docs/helpers/array/array_index_min.md) — Возвращает минимальный индекс
|
|
41
|
+
массива.
|
|
42
|
+
- [array_intersect_assoc](./docs/helpers/array/array_intersect_assoc.md) — Вычисляет
|
|
43
|
+
пересечение между массивами с использованием стандартной функции сравнения для значений и ключей.
|
|
44
|
+
- [array_intersect_key](./docs/helpers/array/array_intersect_key.md) — Вычисляет пересечение
|
|
45
|
+
между массивами с использованием стандартной функции сравнения для ключей.
|
|
46
|
+
- [array_intersect_uassoc](./docs/helpers/array/array_intersect_uassoc.md) — Вычисляет
|
|
47
|
+
пересечение между массивами с использованием пользовательской функции сравнения для значений и
|
|
48
|
+
ключей.
|
|
49
|
+
- [array_intersect_ukey](./docs/helpers/array/array_intersect_ukey.md) — Вычисляет пересечение
|
|
50
|
+
между массивами с использованием пользовательской функции сравнения для ключей.
|
|
51
|
+
- [array_intersect](./docs/helpers/array/array_intersect.md) — Вычисляет пересечение между
|
|
52
|
+
массивами с использованием стандартной функции сравнения значений.
|
|
53
|
+
- [array_key_exists](./docs/helpers/array/array_key_exists.md) — Проверяет, существует ли
|
|
54
|
+
указанный ключ в массиве.
|
|
55
|
+
- [array_key_first](./docs/helpers/array/array_key_first.md) — Возвращает первый ключ массива.
|
|
56
|
+
- [array_key_last](./docs/helpers/array/array_key_last.md) — Возвращает последний ключ
|
|
57
|
+
массива.
|
|
58
|
+
- [array_key_to_lower_case](./docs/helpers/array/array_key_to_lower_case.md) — Преобразует
|
|
59
|
+
ключи ассоциативного массива в нижний регистр.
|
|
60
|
+
- [array_key_to_upper_case](./docs/helpers/array/array_key_to_upper_case.md) — Преобразует
|
|
61
|
+
ключи ассоциативного массива в верхний регистр.
|
|
62
|
+
- [array_keys](./docs/helpers/array/array_keys.md) — Возвращает массив ключей из переданного
|
|
63
|
+
массива или объекта.
|
|
64
|
+
- [array_map](./docs/helpers/array/array_map.md) — Применяет функцию обратного вызова к
|
|
65
|
+
каждому элементу массива.
|
|
66
|
+
- [array_merge_recursive](./docs/helpers/array/array_merge_recursive.md) — Объединяет
|
|
67
|
+
несколько массивов рекурсивно.
|
|
68
|
+
- [array_merge](./docs/helpers/array/array_merge.md) — Объединяет несколько массивов в один.
|
|
69
|
+
- [array_pad](./docs/helpers/array/array_pad.md) — Дополняет массив до заданной длины
|
|
70
|
+
указанным значением.
|
|
71
|
+
- [array_pop](./docs/helpers/array/array_pop.md) — Удаляет и возвращает последний элемент
|
|
72
|
+
массива.
|
|
73
|
+
- [array_product](./docs/helpers/array/array_product.md) — Вычисляет произведение значений
|
|
74
|
+
массива.
|
|
75
|
+
- [array_push](./docs/helpers/array/array_push.md) — Добавляет один или несколько элементов в
|
|
76
|
+
конец массива.
|
|
77
|
+
- [array_rand](./docs/helpers/array/array_rand.md) — Возвращает один или несколько случайных
|
|
78
|
+
ключей из массива.
|
|
79
|
+
- [array_reduce](./docs/helpers/array/array_reduce.md) — Применяет функцию обратного вызова к
|
|
80
|
+
каждому элементу массива (слева направо), чтобы уменьшить его до одного значения.
|
|
81
|
+
- [array_replace_recursive](./docs/helpers/array/array_replace_recursive.md) — Рекурсивно
|
|
82
|
+
заменяет значения в массиве на значения из других массивов.
|
|
83
|
+
- [array_replace](./docs/helpers/array/array_replace.md) — Заменяет значения в массиве на
|
|
84
|
+
значения из других массивов.
|
|
85
|
+
- [array_reverse](./docs/helpers/array/array_reverse.md) — Переворачивает массив, изменяя
|
|
86
|
+
порядок его элементов на обратный.
|
|
87
|
+
- [array_search](./docs/helpers/array/array_search.md) — Ищет значение в массиве и возвращает
|
|
88
|
+
ключ первого найденного элемента.
|
|
89
|
+
- [array_shift](./docs/helpers/array/array_shift.md) — Удаляет и возвращает первый элемент
|
|
90
|
+
массива.
|
|
91
|
+
- [array_slice](./docs/helpers/array/array_slice.md) — Возвращает новый массив, содержащий
|
|
92
|
+
часть исходного массива.
|
|
93
|
+
- [array_splice](./docs/helpers/array/array_splice.md) — Удаляет элементы из массива и, при
|
|
94
|
+
необходимости, добавляет новые элементы на их место.
|
|
95
|
+
- [array_sum](./docs/helpers/array/array_sum.md) — Вычисляет сумму значений массива.
|
|
96
|
+
- [array_udiff_assoc](./docs/helpers/array/array_udiff_assoc.md) — Вычисляет расхождение между
|
|
97
|
+
массивами с использованием пользовательской функции сравнения для значений и ассоциативного
|
|
98
|
+
сравнения ключей.
|
|
99
|
+
- [array_udiff_uassoc](./docs/helpers/array/array_udiff_uassoc.md) — Вычисляет расхождение
|
|
100
|
+
между массивами с использованием пользовательских функций сравнения для значений и ключей.
|
|
101
|
+
- [array_udiff](./docs/helpers/array/array_udiff.md) — Вычисляет расхождение между массивами с
|
|
102
|
+
использованием пользовательской функции сравнения для значений.
|
|
103
|
+
- [array_uintersect_assoc](./docs/helpers/array/array_uintersect_assoc.md) — Вычисляет
|
|
104
|
+
пересечение между массивами с использованием пользовательской функции сравнения для значений и
|
|
105
|
+
стандартной функции сравнения для ключей.
|
|
106
|
+
- [array_uintersect_uassoc](./docs/helpers/array/array_uintersect_uassoc.md) — Вычисляет
|
|
107
|
+
пересечение между массивами с использованием пользовательских функций сравнения для значений и
|
|
108
|
+
ключей.
|
|
109
|
+
- [array_uintersect](./docs/helpers/array/array_uintersect.md) — Вычисляет пересечение между
|
|
110
|
+
массивами с использованием пользовательской функции сравнения для значений.
|
|
111
|
+
- [array_unique](./docs/helpers/array/array_unique.md) — Удаляет дублирующиеся значения из
|
|
112
|
+
массива.
|
|
113
|
+
- [array_unshift](./docs/helpers/array/array_unshift.md) — Добавляет один или несколько
|
|
114
|
+
элементов в начало массива.
|
|
115
|
+
- [array_values](./docs/helpers/array/array_values.md) — Возвращает массив значений из
|
|
116
|
+
переданного массива или объекта.
|
|
117
|
+
- [array_walk_recursive](./docs/helpers/array/array_walk_recursive.md) — Применяет
|
|
118
|
+
пользовательскую функцию к каждому элементу массива рекурсивно.
|
|
119
|
+
- [array_walk](./docs/helpers/array/array_walk.md) — Применяет пользовательскую функцию к
|
|
120
|
+
каждому элементу массива.
|
|
121
|
+
- [count](./docs/helpers/array/count.md) — Возвращает количество элементов в массиве или
|
|
122
|
+
ассоциативном массиве.
|
|
123
|
+
- [in_array](./docs/helpers/array/in_array.md) — Проверяет, существует ли значение в массиве.
|
|
124
|
+
- [natsort](./docs/helpers/array/natsort.md) — Сортирует массив в естественном порядке.
|
|
125
|
+
- [range](./docs/helpers/array/range.md) — Генерирует массив значений от start до end с шагом
|
|
126
|
+
step.
|
|
127
|
+
- [shuffle](./docs/helpers/array/shuffle.md) — Перемешивает элементы массива в случайном
|
|
128
|
+
порядке.
|
|
129
|
+
- [sort](./docs/helpers/array/sort.md) — Сортирует элементы массива с использованием функции
|
|
130
|
+
сравнения.
|
|
131
|
+
|
|
132
|
+
## Помощники для работы со строками
|
|
133
|
+
|
|
134
|
+
- [is_digit_char](./docs/helpers/string/is_digit_char.md) — Проверяет, является ли символ
|
|
135
|
+
цифрой.
|
|
136
|
+
- [is_whitespace_char](./docs/helpers/string/is_whitespace_char.md) — Проверяет, является ли
|
|
137
|
+
символ пробельным.
|
|
138
|
+
- [natcompare_numeric](./docs/helpers/string/natcompare_numeric.md) — Сравнивает две строки,
|
|
139
|
+
содержащие числовые значения, в естественном порядке.
|
|
140
|
+
- [natcompare](./docs/helpers/string/natcompare.md) — Сравнивает две строки в естественном
|
|
141
|
+
порядке.
|
|
142
|
+
|
|
1
143
|
# v0.0.3
|
|
2
144
|
|
|
3
145
|
## Добавлено
|
|
@@ -79,4 +221,3 @@
|
|
|
79
221
|
- [to_list](./docs/helpers/to_list.md) — Преобразует значение в список.
|
|
80
222
|
- [to_object](./docs/helpers/to_object.md) — Преобразует значение в объект.
|
|
81
223
|
- [to_string](./docs/helpers/to_string.md) — Преобразует значение в строку.
|
|
82
|
-
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_chunk
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_chunk.mjs)
|
|
4
|
+
|
|
5
|
+
# array_chunk
|
|
6
|
+
|
|
7
|
+
`array_chunk` — Разбивает массив на части указанной длины.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_chunk(value: array, length: number): array;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_chunk` используется для разбивки массива на части указанной длины. Если переданное
|
|
18
|
+
значение не является массивом, функция выбрасывает ошибку типа `TypeError`. Если длина не является
|
|
19
|
+
целым числом или меньше 1, функция выбрасывает соответствующую ошибку.
|
|
20
|
+
|
|
21
|
+
## Параметры
|
|
22
|
+
|
|
23
|
+
- `value` (array): Массив, который необходимо разбить на части.
|
|
24
|
+
- `length` (number): Длина каждой части.
|
|
25
|
+
|
|
26
|
+
## Возвращаемое значение
|
|
27
|
+
|
|
28
|
+
Возвращает новый массив, содержащий части исходного массива.
|
|
29
|
+
|
|
30
|
+
## Примеры использования
|
|
31
|
+
|
|
32
|
+
1. Разбивка массива на части указанной длины:
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
const array = [1, 2, 3, 4, 5];
|
|
36
|
+
const result = array_chunk(array, 2);
|
|
37
|
+
console.log(result); // [[1, 2], [3, 4], [5]]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
2. Обработка пустого массива:
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
const array = [];
|
|
44
|
+
const result = array_chunk(array, 2);
|
|
45
|
+
console.log(result); // []
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
3. Обработка ассоциативного массива:
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
const assoc = { key1: 'value1', key2: 'value2', key3: 'value3', key4: 'value4' };
|
|
52
|
+
const result = array_chunk(assoc, 2);
|
|
53
|
+
console.log(result); // [['value1', 'value2'], ['value3', 'value4']]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
4. Обработка значения, не являющегося массивом:
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
try {
|
|
60
|
+
const result = array_chunk('not an array', 2);
|
|
61
|
+
} catch (e) {
|
|
62
|
+
console.error(e.message); // Параметр "value" должен быть массивом.
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
5. Обработка некорректной длины:
|
|
67
|
+
|
|
68
|
+
```js
|
|
69
|
+
try {
|
|
70
|
+
const result = array_chunk([1, 2, 3], 'not an integer');
|
|
71
|
+
} catch (e) {
|
|
72
|
+
console.error(e.message); // Параметр "length" должен быть целым числом.
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
try {
|
|
76
|
+
const result = array_chunk([1, 2, 3], 0);
|
|
77
|
+
} catch (e) {
|
|
78
|
+
console.error(e.message); // Параметр "length" должен быть больше нуля.
|
|
79
|
+
}
|
|
80
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_chunk_with_keys
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_chunk_with_keys.mjs)
|
|
4
|
+
|
|
5
|
+
# array_chunk_with_keys
|
|
6
|
+
|
|
7
|
+
`array_chunk_with_keys` — Разбивает массив на части указанной длины с сохранением ключей.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_chunk_with_keys(value: array, length: number): array;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_chunk_with_keys` используется для разбивки массива на части указанной длины с
|
|
18
|
+
сохранением ключей. Если переданное значение не является массивом, функция выбрасывает ошибку типа
|
|
19
|
+
`TypeError`. Если длина не является целым числом или меньше 1, функция выбрасывает соответствующую
|
|
20
|
+
ошибку.
|
|
21
|
+
|
|
22
|
+
## Параметры
|
|
23
|
+
|
|
24
|
+
- `value` (array): Массив, который необходимо разбить на части.
|
|
25
|
+
- `length` (number): Длина каждой части.
|
|
26
|
+
|
|
27
|
+
## Возвращаемое значение
|
|
28
|
+
|
|
29
|
+
Возвращает новый массив, содержащий части исходного массива с сохранением ключей.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Разбивка ассоциативного массива на части указанной длины с сохранением ключей:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const assoc = { a: 1, b: 2, c: 3, d: 4, e: 5 };
|
|
37
|
+
const result = array_chunk_with_keys(assoc, 2);
|
|
38
|
+
console.log(result); // [{ a: 1, b: 2 }, { c: 3, d: 4 }, { e: 5 }]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. Обработка пустого ассоциативного массива:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
const assoc = {};
|
|
45
|
+
const result = array_chunk_with_keys(assoc, 2);
|
|
46
|
+
console.log(result); // []
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
3. Разбивка обычного массива на части указанной длины с сохранением ключей:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const array = [1, 2, 3, 4, 5];
|
|
53
|
+
const result = array_chunk_with_keys(array, 2);
|
|
54
|
+
console.log(result); // [{ 0: 1, 1: 2 }, { 2: 3, 3: 4 }, { 4: 5 }]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
4. Обработка значения, не являющегося массивом:
|
|
58
|
+
|
|
59
|
+
```js
|
|
60
|
+
try {
|
|
61
|
+
const result = array_chunk_with_keys('not an array', 2);
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error(e.message); // Параметр "value" должен быть массивом.
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
5. Обработка некорректной длины:
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
try {
|
|
71
|
+
const result = array_chunk_with_keys([1, 2, 3], 'not an integer');
|
|
72
|
+
} catch (e) {
|
|
73
|
+
console.error(e.message); // Параметр "length" должен быть целым числом.
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
const result = array_chunk_with_keys([1, 2, 3], 0);
|
|
78
|
+
} catch (e) {
|
|
79
|
+
console.error(e.message); // Параметр "length" должен быть больше нуля.
|
|
80
|
+
}
|
|
81
|
+
```
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_column
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_column.mjs)
|
|
4
|
+
|
|
5
|
+
# array_column
|
|
6
|
+
|
|
7
|
+
`array_column` — Извлекает значения указанного столбца из массива объектов.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_column(
|
|
13
|
+
value: array,
|
|
14
|
+
column_key: string | number,
|
|
15
|
+
index_key?: string | number | null,
|
|
16
|
+
): array | object;
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Описание
|
|
20
|
+
|
|
21
|
+
Функция `array_column` используется для извлечения значений указанного столбца из массива объектов.
|
|
22
|
+
Если переданное значение не является списком, функция выбрасывает ошибку типа `TypeError`. Если ключ
|
|
23
|
+
столбца или индексный ключ не являются строкой или целым числом, функция выбрасывает соответствующую
|
|
24
|
+
ошибку.
|
|
25
|
+
|
|
26
|
+
## Параметры
|
|
27
|
+
|
|
28
|
+
- `value` (array): Массив объектов, из которого необходимо извлечь значения.
|
|
29
|
+
- `column_key` (string | number): Ключ столбца, значения которого необходимо извлечь.
|
|
30
|
+
- `index_key` (string | number | null): Ключ, который будет использоваться для индексации
|
|
31
|
+
возвращаемого массива (по умолчанию `null`).
|
|
32
|
+
|
|
33
|
+
## Возвращаемое значение
|
|
34
|
+
|
|
35
|
+
Возвращает массив значений указанного столбца. Если указан индексный ключ, возвращает объект с
|
|
36
|
+
индексированными значениями.
|
|
37
|
+
|
|
38
|
+
## Примеры использования
|
|
39
|
+
|
|
40
|
+
1. Извлечение значений указанного столбца из массива объектов:
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
const array = [
|
|
44
|
+
{ id: 1, name: 'Alice' },
|
|
45
|
+
{ id: 2, name: 'Bob' },
|
|
46
|
+
{ id: 3, name: 'Charlie' },
|
|
47
|
+
];
|
|
48
|
+
const result = array_column(array, 'name');
|
|
49
|
+
console.log(result); // ['Alice', 'Bob', 'Charlie']
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. Извлечение значений указанного столбца с использованием индексного ключа:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
const array = [
|
|
56
|
+
{ id: 1, name: 'Alice' },
|
|
57
|
+
{ id: 2, name: 'Bob' },
|
|
58
|
+
{ id: 3, name: 'Charlie' },
|
|
59
|
+
];
|
|
60
|
+
const result = array_column(array, 'name', 'id');
|
|
61
|
+
console.log(result); // { 1: 'Alice', 2: 'Bob', 3: 'Charlie' }
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
3. Обработка пустого массива:
|
|
65
|
+
|
|
66
|
+
```js
|
|
67
|
+
const array = [];
|
|
68
|
+
const result = array_column(array, 'name');
|
|
69
|
+
console.log(result); // []
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
4. Обработка значения, не являющегося массивом:
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
try {
|
|
76
|
+
const result = array_column('not an array', 'name');
|
|
77
|
+
} catch (e) {
|
|
78
|
+
console.error(e.message); // Параметр "value" должен быть списком.
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
5. Обработка некорректного ключа столбца:
|
|
83
|
+
|
|
84
|
+
```js
|
|
85
|
+
const array = [
|
|
86
|
+
{ id: 1, name: 'Alice' },
|
|
87
|
+
{ id: 2, name: 'Bob' },
|
|
88
|
+
{ id: 3, name: 'Charlie' },
|
|
89
|
+
];
|
|
90
|
+
try {
|
|
91
|
+
const result = array_column(array, {});
|
|
92
|
+
} catch (e) {
|
|
93
|
+
console.error(e.message); // Параметр "column_key" должен быть строкой или целым числом.
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
6. Обработка некорректного индексного ключа:
|
|
98
|
+
|
|
99
|
+
```js
|
|
100
|
+
const array = [
|
|
101
|
+
{ id: 1, name: 'Alice' },
|
|
102
|
+
{ id: 2, name: 'Bob' },
|
|
103
|
+
{ id: 3, name: 'Charlie' },
|
|
104
|
+
];
|
|
105
|
+
try {
|
|
106
|
+
const result = array_column(array, 'name', {});
|
|
107
|
+
} catch (e) {
|
|
108
|
+
console.error(e.message); // Параметр "index_key" должен быть строкой или целым числом.
|
|
109
|
+
}
|
|
110
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_combine
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_combine.mjs)
|
|
4
|
+
|
|
5
|
+
# array_combine
|
|
6
|
+
|
|
7
|
+
`array_combine` — Объединяет два массива в ассоциативный массив.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_combine(keys: array, values: array): object;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_combine` используется для объединения двух массивов в ассоциативный массив. Если
|
|
18
|
+
переданное значение для ключей или значений не является списком, функция выбрасывает ошибку типа
|
|
19
|
+
`TypeError`. Если количество ключей и значений не совпадает, функция выбрасывает ошибку.
|
|
20
|
+
|
|
21
|
+
## Параметры
|
|
22
|
+
|
|
23
|
+
- `keys` (array): Массив ключей.
|
|
24
|
+
- `values` (array): Массив значений.
|
|
25
|
+
|
|
26
|
+
## Возвращаемое значение
|
|
27
|
+
|
|
28
|
+
Возвращает ассоциативный массив, где ключи из первого массива соответствуют значениям из второго
|
|
29
|
+
массива.
|
|
30
|
+
|
|
31
|
+
## Примеры использования
|
|
32
|
+
|
|
33
|
+
1. Объединение двух массивов в ассоциативный массив:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
const keys = ['a', 'b', 'c'];
|
|
37
|
+
const values = [1, 2, 3];
|
|
38
|
+
const result = array_combine(keys, values);
|
|
39
|
+
console.log(result); // { a: 1, b: 2, c: 3 }
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
2. Обработка пустых массивов:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
const keys = [];
|
|
46
|
+
const values = [];
|
|
47
|
+
const result = array_combine(keys, values);
|
|
48
|
+
console.log(result); // {}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
3. Обработка значения, не являющегося массивом:
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
try {
|
|
55
|
+
const result = array_combine('not an array', [1, 2, 3]);
|
|
56
|
+
} catch (e) {
|
|
57
|
+
console.error(e.message); // Параметр "keys" должен быть списком.
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
try {
|
|
61
|
+
const result = array_combine(['a', 'b', 'c'], 'not an array');
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error(e.message); // Параметр "values" должен быть списком.
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
4. Обработка некорректного количества ключей и значений:
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
const keys = ['a', 'b'];
|
|
71
|
+
const values = [1, 2, 3];
|
|
72
|
+
try {
|
|
73
|
+
const result = array_combine(keys, values);
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.error(e.message); // Количество элементов в списке ключей должно ровняться количеству элементов в списке значений.
|
|
76
|
+
}
|
|
77
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_count_values
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_count_values.mjs)
|
|
4
|
+
|
|
5
|
+
# array_count_values
|
|
6
|
+
|
|
7
|
+
`array_count_values` — Подсчитывает количество значений в массиве.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_count_values(value: object): object;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_count_values` используется для подсчета количества значений в массиве. Если
|
|
18
|
+
переданное значение не является массивом, функция выбрасывает ошибку типа `TypeError`.
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `value` (array): Массив значений, которые необходимо подсчитать.
|
|
23
|
+
|
|
24
|
+
## Возвращаемое значение
|
|
25
|
+
|
|
26
|
+
Возвращает объект, где ключи представляют уникальные значения из массива, а значения представляют
|
|
27
|
+
количество их вхождений.
|
|
28
|
+
|
|
29
|
+
## Примеры использования
|
|
30
|
+
|
|
31
|
+
1. Подсчет количества значений в массиве:
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const array = ['a', 'b', 'a', 'c', 'b', 'a'];
|
|
35
|
+
const result = array_count_values(array);
|
|
36
|
+
console.log(result); // { a: 3, b: 2, c: 1 }
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Обработка пустого массива:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
const array = [];
|
|
43
|
+
const result = array_count_values(array);
|
|
44
|
+
console.log(result); // {}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
3. Обработка значений разных типов:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
const array = [1, '1', true, 'true', null, 'null', undefined, 'undefined'];
|
|
51
|
+
const result = array_count_values(array);
|
|
52
|
+
console.log(result); // { 1: 2, true: 2, null: 2, undefined: 2 }
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
4. Обработка значения, не являющегося массивом:
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
try {
|
|
59
|
+
const result = array_count_values('not an array');
|
|
60
|
+
} catch (e) {
|
|
61
|
+
console.error(e.message); // Параметр "value" должен быть массивом.
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
5. Обработка ассоциативных массивов:
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
const assoc = { key1: 'a', key2: 'b', key3: 'a', key4: 'c' };
|
|
69
|
+
const result = array_count_values(assoc);
|
|
70
|
+
console.log(result); // { a: 2, b: 1, c: 1 }
|
|
71
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
[Главная](../../../README.md) / [Помощники](../../helpers.md) / array_diff
|
|
2
|
+
|
|
3
|
+
[Исходный код](../../../src/helpers/array/array_diff.mjs)
|
|
4
|
+
|
|
5
|
+
# array_diff
|
|
6
|
+
|
|
7
|
+
`array_diff` — Вычисляет расхождение между массивами.
|
|
8
|
+
|
|
9
|
+
## Сигнатура функции
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
function array_diff(original_array: object, ...arrays: object[]): object;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Описание
|
|
16
|
+
|
|
17
|
+
Функция `array_diff` используется для вычисления расхождения между массивами. Она возвращает
|
|
18
|
+
ассоциативный массив, содержащий элементы из первого массива, которые отсутствуют в других массивах.
|
|
19
|
+
|
|
20
|
+
## Параметры
|
|
21
|
+
|
|
22
|
+
- `original_array` (object): Исходный массив.
|
|
23
|
+
- `...arrays` (object): Массивы для сравнения.
|
|
24
|
+
|
|
25
|
+
## Возвращаемое значение
|
|
26
|
+
|
|
27
|
+
Возвращает ассоциативный массив, содержащий элементы из первого массива, которые отсутствуют в
|
|
28
|
+
других массивах.
|
|
29
|
+
|
|
30
|
+
## Примеры использования
|
|
31
|
+
|
|
32
|
+
1. Сравнение массивов:
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
const original_array = [1, 2, 3];
|
|
36
|
+
const array1 = [1, 2];
|
|
37
|
+
const result = array_diff(original_array, array1);
|
|
38
|
+
console.log(result); // { 2: 3 }
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
2. Обработка пустых массивов:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
const original_array = [];
|
|
45
|
+
const array1 = [];
|
|
46
|
+
const result = array_diff(original_array, array1);
|
|
47
|
+
console.log(result); // {}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
3. Сравнение массивов с различными типами данных:
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
const original_array = [1, '2', true];
|
|
54
|
+
const array1 = [1, 2, false];
|
|
55
|
+
const result = array_diff(original_array, array1);
|
|
56
|
+
console.log(result); // { 1: '2', 2: true }
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
4. Сравнение массивов с объектами:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
const original_array = [{ id: 1 }, { id: 2 }, { id: 3 }];
|
|
63
|
+
const array1 = [{ id: 1 }, { id: 2 }];
|
|
64
|
+
const result = array_diff(original_array, array1);
|
|
65
|
+
console.log(result); // { 2: { id: 3 } }
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
5. Сравнение ассоциативных массивов:
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
const original_array = { a: 1, b: 2, c: 3 };
|
|
72
|
+
const array1 = { a: 1, b: 2 };
|
|
73
|
+
const result = array_diff(original_array, array1);
|
|
74
|
+
console.log(result); // { c: 3 }
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
6. Сравнение нескольких массивов:
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
const original_array = [1, 2, 3, 4];
|
|
81
|
+
const array1 = [1, 2];
|
|
82
|
+
const array2 = [3];
|
|
83
|
+
const result = array_diff(original_array, array1, array2);
|
|
84
|
+
console.log(result); // { 3: 4 }
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
7. Сравнение массивов с вложенными структурами:
|
|
88
|
+
|
|
89
|
+
```js
|
|
90
|
+
const original_array = [
|
|
91
|
+
{ id: 1, data: [1, 2] },
|
|
92
|
+
{ id: 2, data: [3, 4] },
|
|
93
|
+
];
|
|
94
|
+
const array1 = [{ id: 1, data: [1, 2] }];
|
|
95
|
+
const result = array_diff(original_array, array1);
|
|
96
|
+
console.log(result); // { 1: { id: 2, data: [3, 4] } }
|
|
97
|
+
```
|