const token = [ {"token":"d2r4Z62OTGiPyNmdHTUfny", "time":1652767811}, {"token":"dnl13twkQIqifdvaxp1t6e", "time":1652767811}, {"token":"eDZxQu0FSWm72D2-T1md5X", "time":1652767811}, {"token":"dnl13twkQIqifdvaxp1t6e", "time":1652767811}]; // Try edit me const arr = []; for (var i=0; i<=token.length-1; i++) { const millis = Date.now(); const time = Math.floor(millis / 1000); if (token[i].time > time) { arr.push(token[i].token) } } console.log(arr);entre estas dos variables de token son iguales, quiero distinguirlas entre sí, ¿cómo puedo hacer eso? Salida de ejemplo:
const example = [ "d2r4Z62OTGiPyNmdHTUfny", "eDZxQu0FSWm72D2-T1md5X", "dnl13twkQIqifdvaxp1t6e" ]; console.log(example);La forma más fácil con su lógica actual es que puede usar includes para verificar el token con los resultados de arr . Si está en arr , no necesitamos empujarlo a arr .
const token = [ {"token":"d2r4Z62OTGiPyNmdHTUfny", "time":1652767811}, {"token":"dnl13twkQIqifdvaxp1t6e", "time":1652767811}, {"token":"eDZxQu0FSWm72D2-T1md5X", "time":1652767811}, {"token":"dnl13twkQIqifdvaxp1t6e", "time":1652767811}]; const arr = []; for (var i=0; i<=token.length-1; i++) { const millis = Date.now(); const time = Math.floor(millis / 1000); if (!arr.includes(token[i].token) && token[i].time > time) { arr.push(token[i].token) } } console.log(arr);Simplemente use un Set ya que no permite duplicados:
const tokens = [ {"token":"d2r4Z62OTGiPyNmdHTUfny", "time":1652767811}, {"token":"dnl13twkQIqifdvaxp1t6e", "time":1652767811}, {"token":"eDZxQu0FSWm72D2-T1md5X", "time":1652767811}, {"token":"dnl13twkQIqifdvaxp1t6e", "time":1652767811} ]; const now = Math.floor(Date.now() / 1000); const result = new Set( tokens.filter(({ time }) => time > now).map(({ token }) => token) ); console.log(...result);