Я надеюсь, что кто-то может объяснить мне, в undescorejs docs, он говорит:Underscorejs Содержит не действует как IndexOf
Возвращает истину, если значение присутствует в списке. Использует indexOf внутри, если список - это массив.
Я хочу видеть, находится ли пользователь на странице участников, проверяя, содержит ли путь member
. В настоящий момент путь может быть «/ members /» или «/ member/someid».
Так что у меня есть на данный момент
_.contains(['/member'],path);
Который возвращает ложь в обоих случаях, но если я проверю IndexOf
path.indexOf('/member');
возвращает 0 в обоих случаях.
Почему _.contains, кажется, действует иначе, чем indexOf, и как я могу его исправить?
UPDATE: Я планирую испытать больше страниц, чем просто member
, поэтому я использую массив в
Если значение присутствует в ** списке **. 'path.indexOf()' - это метод ** string **, а '.contains()' - для нахождения значений в массиве. Существует 'indexOf()' в прототипе Array, который * аналогичен * для строки '.indexOf()', но другой. – Pointy
Так что. .contains() 'не выполняет' indexOf() 'для каждого значения в массиве, а скорее для массива в целом? – Niel
'path.startsWith ("/member ")' –