@@ -54,36 +54,75 @@ console.log(arregloDeNumeros.includes(5)); // true
54
54
const array1 = [ 1 , 2 , 3 , 6 ] ;
55
55
const array2 = [ 1 , 2 , 3 , 4 , 5 ] ;
56
56
57
+ console . log ( "Arreglo original 1: " , array1 ) ;
58
+ console . log ( "Arreglo original 2: " , array2 ) ;
59
+
60
+ // Crear conjuntos a partir de arreglos
61
+ const conjuntoA = new Set ( array1 ) ;
62
+ const conjuntoB = new Set ( array2 ) ;
63
+
57
64
// Operaciones de conjuntos con arreglos en JavaScript usando Set y Arreglos directamente
58
- // Set es una estructura de datos que no permite elementos duplicados
59
- const unionArraySet = new Set ( [ ... array1 , ... array2 ] ) ;
60
- console . log ( "Union de conjuntos con SET: " , unionArraySet ) ; // [1, 2, 3, 1, 2, 3, 4, 5]
65
+ // Set es una estructura de datos que no permite elementos duplicados, por lo que es ideal para trabajar con conjuntos.
66
+
67
+ // Union de conjuntos
61
68
62
- // Arreglos directamente
69
+ function unionConSet ( setA , setB ) {
70
+ return new Set ( [ ...setA , ...setB ] ) ;
71
+ }
72
+
73
+ console . log ( "Union de conjuntos con SET: " , unionConSet ( conjuntoA , conjuntoB ) ) ; // [1, 2, 3, 1, 2, 3, 4, 5]
74
+
75
+ // Union mantenimentdo la estructua de arreglo
63
76
const unionArray = ( array1 , array2 ) => {
64
77
return [ ...new Set ( [ ...array1 , ...array2 ] ) ] ;
65
78
}
66
79
console . log ( "Union de arreglos" , unionArray ( array1 , array2 ) ) ; // [1, 2, 3, 4, 5, 6]
67
80
68
81
69
- // Intersección de conjuntos
70
- // Set es una estructura de datos que no permite elementos duplicados
71
- const conjuntoA = new Set ( array1 ) ;
72
- const conjuntoB = new Set ( array2 ) ;
73
82
74
- const intersectionArraySet = conjuntoA . filter ( x => conjuntoB . has ( x ) ) ;
75
- console . log ( "Intersecion de conjuntos con SET" , intersectionArraySet ) ; // [1, 2, 3]
76
- // Intersección de arreglos directamente
83
+ // Intersección de conjuntos
84
+ // La intersección contiene solo los elementos que están en ambos conjuntos.
77
85
86
+ function intersectionConSet ( setA , setB ) {
87
+ return new Set ( [ ...setA ] . filter ( x => setB . has ( x ) ) ) ;
88
+ }
89
+ console . log ( "Intersecion de conjuntos con SET" , intersectionConSet ( conjuntoA , conjuntoB ) ) ; // [1, 2, 3]
78
90
91
+ // Intersección mantenimentdo la estructua de arreglo
79
92
const intersectionArray = ( array1 , array2 ) => {
80
93
return array1 . filter ( value => array2 . includes ( value ) ) ;
81
94
}
82
95
console . log ( "Intersecion de arreglos" , intersectionArray ( array1 , array2 ) ) ; // [1, 2, 3]
83
96
84
97
98
+ // Difference de conjuntos
99
+ // La diferencia contiene los elementos que están en el primer conjunto pero no en el segundo.
100
+
101
+ // Diferencia con la estructura de set
102
+ const differenceArraySet = ( setA , setB ) => {
103
+ return new Set ( [ ...setA ] . filter ( x => ! setB . has ( x ) ) ) ;
104
+ }
105
+ console . log ( "Diferencia con la estrucura de set: " , differenceArraySet ( conjuntoA , conjuntoB ) ) ; // [6]
106
+
107
+ // Diferencia con la estructura de arreglos
108
+ const differenceArray = ( array1 , array2 ) => {
109
+ return array1 . filter ( value => ! array2 . includes ( value ) ) ;
110
+ }
111
+ console . log ( "Diferencia con la estructura de arreglos: " , differenceArray ( array1 , array2 ) ) ; // [6]
112
+
113
+ // Diferencia simétrica de conjuntos
114
+ // La diferencia simétrica contiene los elementos que están en uno de los conjuntos pero no en ambos.
85
115
116
+ //Diferencia simétrica con la estructura de set
117
+ const symmetricDifferenceArraySet = ( setA , setB ) => {
118
+ return new Set ( [ ...setA ] . filter ( x => ! setB . has ( x ) ) . concat ( [ ...setB ] . filter ( x => ! setA . has ( x ) ) ) )
119
+ }
120
+ console . log ( "Diferencia simétrica con la estructura de set: " , symmetricDifferenceArraySet ( conjuntoA , conjuntoB ) ) ; // [4, 5, 6]
121
+
122
+ // Diferencia simétrica con la estructura de arreglos
123
+ const symmetricDifferenceArray = ( array1 , array2 ) => {
124
+ return array1 . filter ( value => ! array2 . includes ( value ) ) . concat ( array2 . filter ( value => ! array1 . includes ( value ) ) ) ;
125
+ }
86
126
87
- const differenceArraySet = new Set ( array1 . filter ( x => ! array2 . includes ( x ) ) ) ;
88
- console . log ( differenceArraySet ) ; // [6]
127
+ console . log ( "Diferencia simétrica con la estructura de arreglos: " , symmetricDifferenceArray ( array1 , array2 ) ) ; // [4, 5, 6]
89
128
0 commit comments