@Almazmr

В чем ошибка js?

Подскажите, почему Number(name.split('___')[1]) определяется как NaN

...
	var status = true
	names.forEach(function(elem, i) {
		if (Date.now() - Number(name.split('___')[1]) >= 10000) {
			names.splice(i , 1)
			return
		} else if (elem.split('___')[0] === name) {
			status = false
			return
		}
	})
	if (status === false) return
...
names.push(`${name}___${Date.now()}`)

Массив выглядит следующим образом:

Sea Dragon's Fins___1548134782042,Back Buoy of the Shoreline Sapper___1548134790640,Armguards of the Silent Edict___1548134799542
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Режим гадалка: on

Полагаю, в условии
if (Date.now() - Number(name.split('___')[1]) >= 10000) {

нужно name заменить на elem? т.к. name это просто имя, а elem это пара имя__дата.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Потому что name.split('___')[1] это

1548134782042,Back Buoy of the Shoreline Sapper

Может быть лучше так?:

Number(name.split('___')[1].match( /\d+/ ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы