« first day (1457 days earlier)      last day (1642 days later) » 

12:47 AM
oaoaoaoao
 
@x-rw es hora de mi cierre, te encargo el changarro
 
@farsSharp nonono
@farsSharp donde te vas que esto recien empieza
 
@x-rw a beberme unas frias (B)
 
@farsSharp uy para programar mas decididamente?
 
@x-rw no lo creo jajaja
 
 
6 hours later…
6:27 AM
Buenos días por la mañana
 
 
2 hours later…
8:35 AM
0
Q: ¿Dónde puedo publicar mis proyectos para que las personas puedan leer mi código y aprender o mejorarlo?

Camilo CaroxhSoy un novato en esta página y en la programación, algunos de ustedes me han ayudado bastante con la creación de un proyecto que realicé estos días, he aprendido demasiado en tan solo 3 días y así mismo como ustedes me han ayudado ahora quiero poner mi código a disposición de cualquiera que quier...

 
 
9 hours later…
5:09 PM
0
Q: ¿Es posible ver las preguntas que se han eliminado en las que habías respondido?

Francisco RomeroHoy me ha surgido una duda viendo una pregunta que encaja perfectamente a una respuesta que di hace bastante tiempo a una pregunta similar aunque, cuando la he ido a buscar para marcarla como duplicada, no la he podido encontrar de ninguna manera, por lo que he pensado que igual podría ser que la...

 
5:52 PM
alguien por aqui
@abulafia
por si luego lo vez
tengo dos objetos quiero filtar los que se encuentren en ambos objetos al menos 1 vez:
{ r: 2, e: 4, t: 1, h: 2, y: 1 }
{ y: 2, e: 5, s: 1, t: 1, h: 2, a: 1, r: 2 }
es decir: r,e,t,h,y...
@PabloLozano
 
a pero estabas por ahi
hola @MauricioContreras
 
me acabo de conectar de casualidad
 
ggg mi salvador
 
Si supieras donde ando metido
Al menos estoy desde el ordenador
 
5:58 PM
donde andas
 
Seguro no conoces, estoy en Boscos de Can Martí, en Piera, Anoia, Cataluña, España.
 
no no se en cataluña eh estado tengo familia ahi.. en Manresa y lugares cercanos que no recuerdobien los nombres
 
Bueno, la vista es espectacular al menos, tengo Montserrat de frente
A ver, deseas filtrar 2 objetos
Necesitas devolver sólo los campos comunes a cada objeto
 
Oh entonces estas cerca de Manresa... Monserrat esta a 40 min
eh ido
@MauricioContreras si
a ver en realidad son de 2 strings
 
@IsraelGonzález Yo estoy del otro lado, por Igualada, Manresa me queda cruzando Montserrat
2 strings
quieres los caracteres comunes de ambos strings
 
6:03 PM
ahora me pongo a pensarlo y tenia q haberlo convertido a objeto luego de buscar los que se repiten
si exacto
 
Pero porqué a objeto?
Si Array tiene el método filter
 
si pero luego me interesa contar los repetidos de cada letra
y compararlos
mira el kata
 
Jejeje, eso es un M.C.D. con letras.
Comunes con su mayor exponente
 
anja
luego muestras el mcd de cada caracter de los dos string
 
@IsraelGonzález Bien
 
6:11 PM
empezando por el primer string por lo que veo
 
@IsraelGonzález Lo primero es limpiar los strings, para dejar sólo caractéres de la a a la z (en minúsculas)
Imagino que usas un replace
 
si eso ya lo hago
let str1 = s1.replace(/[^a-z]/g, '').split('').reduce((arr, occ) => {
arr[occ] ? arr[occ]++ : arr[occ] = 1
return arr
}, {});
para cada 1
 
@IsraelGonzález Pues ya lo tienes, los objetos son un diccionario, lo usas y listo
 
6:29 PM
pero en el problema los que se encuentrar en 1 y no en otro no interesan @MauricioContreras
lo que no se es como dejar solo estos en ambos
 
@IsraelGonzález dos métodos para esto se me ocurren: Object.keys() para obtener un iterable de las propiedades, y Object.hasOwnProperty() para verificar una propiedad en un objeto
Lo pillas
?
 
deja estudiar estos metodos pero me hago una idea
 
6:49 PM
lo mas eficiente es haerlo antes cuando aun son string de esa forma como seria
 
@IsraelGonzález pues te enredas contando cosas, tendrías que agrupar con un formato y luego usar dicho formato para hacer la mezcla
Lo voy a hacer de las 2 formas
@IsraelGonzález, ya lo tengo listo
 
ja como asi
 
@IsraelGonzález, aún no, disculpa, me falta el orden lexicofráfico. Estoy en ello
 
aun estoy pensando como hacer la parte de filtrar
con los object.key() y el has property
 
7:04 PM
Te ayudo?
 
que utilizastes
map filter o un ciclo
 
@IsraelGonzález forEach
 
7:21 PM
A ver, que entiendo que se puede escribir código más compacto, pero eso es adornarse mucho
Ya lo tienes?
 
no nada
es que estoy perdido a la hora de trabajar con objetos
 
Vamos entonces
 
pera creo q lo consegui
la parte del filtrar
Object.keys(str2).forEach(element => {
if (str1.hasOwnProperty(element))
console.log(element);
});
ahi estoy tomando los repetidos de str2 y str1
 
7:51 PM
@MauricioContreras ahora no puedo borrar los elementos grrr
el delete obj.propiedad dentro del foreach no me esta funcionando
tenia que hacerlo con obj[property] en vez de obj.property.. esta parte no me queda clara
 
@IsraelGonzález Python?
 
no no js
 
Ah, con js no sé trucos buenos. Con python se podría hacer con una mera intersección de conjuntos, pero no sé si JS tiene de eso
 
no se lo que es
y si fueran strings como hicieras
 
8:08 PM
Lo lograste?
 
8:27 PM
si pero la solucion del problema aun
 
a = { r: 2, e: 4, t: 1, h: 2, y: 1 }
b = { y: 2, e: 5, s: 1, t: 1, h: 2, a: 1, r: 2 }
r = {}
Object.keys(a).forEach(element => {
   if (b.hasOwnProperty(element)) r[element]=b[element];
})
@IsraelGonzález Tras la ejecución de lo anterior, en r tendrías el resultado buscado. En este caso sale
{ r: 2, e: 5, t: 1, h: 2, y: 2 }
 
@abulafia es muy parecido a js
 
Aunque no me quedó claro si el resultado que querías es sólo la lista de las claves (propiedades) en ambos objetos, o un objeto directamente con esas propiedades y unos valores. En lo que acabo de poner sería lo segundo, y los valores los toma de b
@IsraelGonzález XD Es que es JS! No es python
 
jajajajaajaj @abulafia
 
Acabo de mirar un poco si JS tenía conjuntos, para hacerlo más "estilo python", y aunque los tiene no me sirven porque no implementa la intersección. Así que al final lo hice con un mero bucle similar al tuyo
sólo que en vez de ir imprimiendo los elementos comunes, los va guardando en otro objeto "resultado"
 
8:37 PM
si en realidad eso era un test
lo que tengo q hacer es eliminar los elementos q estan en una y no en otras
no se si es lo mas optimo pero lo q hice fue hacer esto dos veces 1 vez para un objeto comparando y eliminando los que no estan en el otro
y otra vez haciendo lo mismo para el otro
 
Pero no puedes eliminar mientras recorres el bucle, así que por eso lo que hice fue crear una tercera variable (r) con los elementos comunes
 
asi solo me quedan los que estan en ambos
si ya elimino
 
no acabo de entender qué resultado buscas. Tienes que tener de nuevo las variables a y b, pero modificadas para eliminar los elementos que no estén en la otra?
 
pera es esto
tengo dos objetos quiero filtar los que se encuentren en ambos objetos al menos 1 vez:
{ r: 2, e: 4, t: 1, h: 2, y: 1, k:1 }
{ y: 2, e: 5, s: 1, t: 1, h: 2, a: 1, r: 2 }
es decir: r,e,t,h,y
Object.keys(str1).forEach(element => {
if (!str2.hasOwnProperty(element)) {
delete str1[element]
}
});
hago esto para el primero
y luego repito para el segundo
 
En general no es buena idea hacer delete str1[element] mientras estás iterando por str1, pues eso puede alterar su longitud... pero en este caso ya que primero está Object.keys() supongo que no hay problema (pues la longitud de la lista devuelta por Object.keys() es la que corresponde al objeto inicial y supongo que no cambie aunque luego vayas eliminando elementos). No sé cómo se comporta JS en esto, pero en Python se desaconseja
 
8:52 PM
y me parece que en js tmb
estoy teniendo un problema raro ahora
 
9:15 PM
Vaya al final no era MCD, lo entendí mal, es comunes y no comunes con su mayor exponente, excepto cuando el exponente es 1.
 
anja
yo igual ahora estoy arreglando eso
 
Miren esto:
Me intriga que el título de la pregunta está en castellano, pero el cuerpo de la misma en inglés. Y haciendo una búsqueda en el sitio en inglés: How to read giant numbers and add each of your digits, voilá. Por favor lee How to Ask, has el tour y lee lo que dice en Meta: ¿Son aceptables las traducciones de preguntas de StackOverflow en inglés?. Saludos — Mauricio Contreras 5 mins ago
 
jaja
fue un copia y pega para ganar puntos o medallas?
 
@IsraelGonzález Quien sabe, pero no es bien visto eso.
 
@MauricioContreras mi funcion esta lista ahora es el orden que se muestra
 
9:25 PM
@IsraelGonzález Tengo la función compare
No es muy friki, pero funciona. Así fue que me di cuenta que no era un MCD
 
Expected: '2:eeeee/2:yy/=:hh/=:rr', instead got: '=:rr/2:eeeee/=:hh/2:yy'
estan mostrando por la aparicion de la letra en el string
 
@IsraelGonzález Tienes todos los string en un Array?
 
no en el objeto
 
@IsraelGonzález vaya, eres valiente
 
@MauricioContreras lo que no se eh pasado un trabajo
 
9:31 PM
@IsraelGonzález Bueno, para mi siempre es mejor poner todo en Array, tiene muchos métodos
 
si pero luego estaba pensando en la cantidad de repeticiones q ya la tenia en mi objeto
si la pasaba a un arreglo entonces tendria q hacerle transformaciones
y me apegue a la primera solucion que habia pensado(error de programador noob)
creo que ya se como es
como ordeno mis objetos
por los valores mas altos
 
mmm
Si te interesa, yo ya hice el submit final usando arrays
Ahora intentaré hacerlo por Strings
Sin usar objetos
me dieron privilegios en codewars
100+
> 100+ Honor: You now have the ability to weigh in on the ranking of beta kata!
La verdad casi no hago katas, excepto por los que me han planteado aquí. XDDD
casi todas las soluciones que veo del kata usan sort, por lo tanto hacerlo por strings será igual llevarlo a algún array para poder usar el sort
 
9:48 PM
gg
veras que despues de todo el trabajo no paso por velocidad
 
La idea inicial que tenía para hacerlo por strings la debo volver a analizar, ya que antes pensaba que era MCD
 
como ordeno mis objetos
 
@IsraelGonzález estás iterando?
 
los foreach
 
vaya
en el código inicial obtienes 2 objetos o diccionarios
 
9:50 PM
quiero ordenarlos de forma q si {y:2, i:3} quede {i:3, y:2}
con eso completo mi solucion
@MauricioContreras 2 objetos
 
con objetos es un poco más complicado, déjame pensarlo
Échale una ojeada a Object.entries()
Aunque igual no sirve, porque no compara
 
me da el key y el valor
 
Es decir, hay que comparar para decidir y eso es un embrollo, tendrías que ordenar por burbuja o usar binary sort, no se, por eso lo veo complicado
Mejor usar array y su método sort
Fíjate, metes todos los strings ya formateados: 2:bbbb, =:eee, 1:aa, por ejemplo en un array, luego ordenas con sort y listo
Lo de los diccionarios fue mi punto de partida, muy ingenioso, de allí todo lo que hice, tal vez se puede mejorar.
 
luego me dejas ver
voy a tener que hacer eso del string
 
@IsraelGonzález hacerlo directo sobre el string?
 
10:02 PM
si pq es q sino voy a tener que cambiar toda la funcion
y el ordenar string ya seria como un problema mas de 6kyu
 
@IsraelGonzález lo que debes ordenar es el resultado
 
anja
2:yy/2:eeeee/=:hh/=:rr
asi estoy mostrando ahora
 
@IsraelGonzález la primera comparación es el length
la segunda comparación ha de ser el 1 o 2
la última comparación ha de ser lexicográfica
Así se pide y así lo hiceç
 
y como saber que una misma cantidad va primera que otra
 
Creo que vas a tener que olvidarte de los objetos, ya que su función es agrupar los caracteres, lo demás es mejor hacerlo con arrays
Hazlo en el orden que te digo
fíjate que en ASCII '1'<'2'<'='
la función de comparación debes hacerla de tal manera que tome en cuenta primero el length del string ya formateado de cada grupo.
si el length es igual entonces debes comparar '1' vs '2' vs '=', es sencillo dado que en ASCII '1' < '2' < '='
ahora si aún así son iguales en esa parte, entonces la comparación la haces lexicográficamente, es decir 'a' < 'b' < 'c' < ... < 'z'
Esa es la función de comparación que se me ocurrió a mi y funciona.
 
10:13 PM
eso es con los charCode no
 
@IsraelGonzález No
Es directo
ejemplo:
 
ah ya no sabia
si comparo el 1 con el str '=' va a ser menor
 
@IsraelGonzález si comparas '1' con '=' va a dar que '1' es menor que '='
estamos hablando de strings, no hay números implicados aqui
escribe en node '1' < '=' y te dará true
Prueba esto:
const compare = (a, b) => {
  if(a[0] < b[0]) {
    return -1;
  } else if(a[0] > b[0]) {
    return 1;
  } else {
    return 0;
  }
}

let test = 'mnbsdheajhfdasd';
console.log(test);
test = test.split('').sort(compare)
test = test.join('');
console.log(test);
 
esta es para la parte de los numeros
no esta ordena las letras
 
10:48 PM
@IsraelGonzález, no perteneces al clan de SOes en codewars?
 
si
pertenezco
 
@IsraelGonzález cuál es tu nick allí? no te reconozco
 
Pues nop
será este: igruiz91?
 
10:50 PM
Ok, vaya estás en el top
 
jaa sii
eh estado entrenando
 
Bien por ti, un digno rival a enfrentar
 
jaa voz sos un digno rival
yo lo sere :)
 
@IsraelGonzález no por gusto estás de primero
Voy a dormir
 
eh estado practicando
cuando tengo una duda vengo y pregunto
 
10:54 PM
Hablamos mañana si te conecta
 
que duermas bien
 

« first day (1457 days earlier)      last day (1642 days later) »