Как сказать javascript "любое число больше, чем" на троичный оператор? - PullRequest
0 голосов
/ 28 апреля 2019

Мне нужно установить троичный оператор с условием: всякий раз, когда URL равен / index / плюс любое число больше «1» делает X.

Я пробовал это (строка со значением «to»:

<Spring
    from={{ height: location.pathname === '/' ? '0vh' : '0vh' }}
    to={{ height: (location.pathname === '/' || location.pathname === '/index/' + (>= 2) ) ? '36vh' : '0vh' }}
>

К сожалению, это не работает. Это из-за проблемы нумерации страниц (я не знаю, сколько страниц будет создано).

1 Ответ

1 голос
/ 28 апреля 2019

Это не имеет ничего общего с условным оператором.Это связано с соответствием строки.Если вы хотите сопоставить location.pathname с /index/n, где n должно быть больше 1, вам, вероятно, понадобится регулярное выражение:

/\/index\/(?:[2-9]|\d{2,})/.test(location.pathname)

(?:...) - это группа без захвата,[2-9]|\d{2,} - это чередование, соответствующее либо [2-9], либо \d{2,}.[2-9] соответствует любой цифре от 2 до 9 включительно.\d{2,} соответствует двум или более цифрам.

В контексте:

<Spring
    from={{ height: location.pathname === '/' ? '0vh' : '0vh' }}
    to={{ height: (location.pathname === '/' || /\/index\/(?:[2-9]|\d{2,})/.test(location.pathname) ) ? '36vh' : '0vh' }}
>
...