Home > database >  subtract same variables in single object javascript
subtract same variables in single object javascript

Time:05-18

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);

between these two token variables are the same, I want to distinguish them from each other, how can I do that? Example Output:

const example = [
  "d2r4Z62OTGiPyNmdHTUfny",
  "eDZxQu0FSWm72D2-T1md5X",
  "dnl13twkQIqifdvaxp1t6e"
];
console.log(example);

CodePudding user response:

Just use a Set as it doesn't allow for duplicates:

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);

CodePudding user response:

The easiest way with your current logic is that you can use includes to check token with the arr results. If it's in arr, we don't need to push it to 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);

  • Related