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.info(arr);
между этими двумя переменными токена одинаковы, я хочу отличить их друг от друга, как я могу это сделать? Пример вывода:
const example = [
"d2r4Z62OTGiPyNmdHTUfny",
"eDZxQu0FSWm72D2-T1md5X",
"dnl13twkQIqifdvaxp1t6e"
];
console.info(example);
Используйте Set
, чтобы удалить дубликаты.
временная метка не так важна
Самый простой способ с вашей текущей логикой — использовать includes
для проверки token
с результатами arr
. Если он находится в arr
, нам не нужно подталкивать его к 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.info(arr);
Добро пожаловать!~ @Откройте для себя
Просто используйте Set
, поскольку он не допускает дублирования:
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.info(...result);
лучшее решение для моей проблемы, я благодарен за это.
Вы имеете в виду извлечение уникальных токен-ключей? какова цель «времени»? попробуйте массив.уменьшить