godsplane, нет. Варианта два - совпадает всё, или что-то (неважно, что и сколько) не совпадает. Т.е., в первом if меняете && на ||, второй if убираете (остаётся просто else).
как это не было удаления, если я "сразу же элемент добавил обратно"?
Vue не выполняет рендеринг сразу же после изменения данных.
С точки зрения js я удалил элемент
Нет. Фильтрация + присваивание удалением не является. Так что никаких домыслов, говорю как есть.
"не работает" - нормальный разговор, если есть конкретный пример
Нет, не нормальный. Ещё раз - задавая вопрос, следует рассказывать, какого поведения вы пытаетесь добиться. Да и "конкретного примера" не было - так, огрызки кода. "Конкретный пример" - это ссылка на песочницу.
поняли, что я имею ввиду
Чё-то смеюсь. До сих пор без понятия, чего вам надо было.
Павел Клешнин, какая там у вас ситуация - неизвестно. "Не работает" - это разговор ни о чём. Следует рассказывать, что вы ожидаете получить, и что получается реально - а не ждать, что кто-то догадается. Ведь возможны варианты - со сменой key, и без. Очевидно, поведение различается. "Придраться" - можете называть это и так, но факт в том, что вы не знаете основ js. А если не придираться, то... Всё равно удаления не было (с точки зрения vue) - потому что вы сразу же элемент добавили обратно, с тем же key.