В Windows вы смотрите на каналы (Именованные или анонимные) .
Труба - это раздел разделяемой памяти, который обрабатывает данные для связи. Процесс, который создает канал, является сервером трубопроводов. Процесс, который соединяется с трубой, является клиентом канала. Один процесс записывает информацию в трубку, затем другой процесс считывает информацию из канала.
blockquote>Для работы с Windows-трубками вы можете использовать расширения для Python для Windows (pywin32) или модуль Ctypes . Специальный модуль утилиты, win32pipe , обеспечивает интерфейс к API-интерфейсу win32. Он включает в себя реализации функций удобства
popen[234]()
.См. how-to-use-win32-apis-with-python и аналогичные вопросы SO (не относящиеся к Pipes, но указывает на полезную информацию).
Вы просто хотите перебрать свою коллекцию, используя _.filter
, а затем вернуть либо значение truey / falsey, основанное на том, что вы хотите отфильтровать. _.includes
проверит, существует ли переданное значение в заданной коллекции. Затем вы можете отфильтровать свою коллекцию таким образом, так как _.filter
вернет новый массив.
Ручка: https://codepen.io/joshuakelly/pen/aPgLmL
const tempQuery = [1, 2];
const data = [
{
id: 1,
name: 'aaa',
rejectedNumber: 1
},
{
id: 2,
name: 'bbb',
rejectedNumber: 2
},
{
id: 3,
name: 'bbb',
rejectedNumber: 3
}
];
const withFilteredData = _.filter(data, col => _.includes(tempQuery, col.id));
const withoutFilteredData = _.filter(data, col => !_.includes(tempQuery, col.id));
console.log(withFilteredData, withoutFilteredData);
Причина, по которой вы не можете просто заменить _.includes
на _.without
, заключается в том, что они не являются противоположностью друг другу. Общим для них является то, что первый аргумент, который они принимают, может быть массивом (который вы используете для него). Но на этом сходство заканчивается; они совершенно разные:
_.includes
возвращает логическое значение , указывающее, встречается ли второй аргумент в массиве
_.without
возвращает массив , который включает значения в исходном массиве, за исключением второго аргумента (и других значений аргумента, если они предоставлены).
Поскольку массив всегда является истинным значением, функция _.conform
- когда она основана на _.without
- всегда будет возвращать true.
Вместо _.without
создайте реальную противоположность _.includes
с помощью _.negate
:
this.filters[this.columnName] = _.partial(_.negate(_.includes), this.tempQuery);
Я полагаю, что вы не хотите касаться использования _.filter
, но так же, как В качестве альтернативы вы также можете отрицать это с помощью _.reject
.