Причина, по которой вы не можете просто заменить _.includes
на _.without
, заключается в том, что они не являются противоположностью друг другу. Общим для них является то, что первый аргумент, который они принимают, может быть массивом (который вы используете для него). Но на этом сходство заканчивается; они совершенно разные:
_.includes
возвращает логическое значение , указывающее, встречается ли второй аргумент в массиве
_.without
возвращает массив , который включает значения в исходном массиве, за исключением второго аргумента (и других значений аргумента, если они предоставлены).
Поскольку массив всегда является истинным значением, функция _.conform
- когда она основана на _.without
- всегда будет возвращать true.
Вместо _.without
создайте реальную противоположность _.includes
с помощью _.negate
:
this.filters[this.columnName] = _.partial(_.negate(_.includes), this.tempQuery);
Я полагаю, что вы не хотите касаться использования _.filter
, но так же, как В качестве альтернативы вы также можете отрицать это с помощью _.reject
.
Проверьте заголовок X-Forwarded-For путем вызова request.getHeader ("X-Forwarded-For") и посмотрите то, что делает IP он возвращается.
Какой IP-адрес это отображает? Мое предположение существует некоторый прокси или что-то изменяющее вещи. (Например, та страница сценария отобразила мой IP-адрес маршрутизатора ADSL - не одну внутреннюю часть моя LAN - по очевидным причинам.)
Править: Теперь, когда Вы показали, что IP-адрес, который Вы видите, 127.0.0.1, ответ является довольно четким - Вы видите свой петлевой адаптер (т.е. ярлык на ту же машину), по-видимому, потому что Вы тестируете на той же машине, на которой Вы разрабатываете. Ответ совершенно корректен.
Попробуйте его от другой машины, и Вы получите более полезный IP-адрес.
Возвращенный IP, который Вы показываете, является localhost IP. Это поднимает вопрос - где Вы тестируете, и как Вы получаете доступ к сервлету для тестирования?
Если Вы выполняете сервлет на своем локальном (разработка) машина и также звоните ему от браузера на той же машине, то этот вывод абсолютно корректен.
Удачи,
- R
Вы выполняете свой тестовый сервер на Вашем локальном компьютере и соединяетесь с ним на http://localhost/. Так как Вы соединяетесь в локальном интерфейсе, источник соединения также localhost, иначе 127.0.0.1.
При вызове сервлета с помощью http://localhost:8080/servlet Вы будете обычно получать "localhost" как удаленный addr. При использовании названия машины, т.е. http://yourmachine/servlet Вы usally получите "корректный" адрес.