169 похожих чатов

Всем привет! Кто может объяснить как работает функция удаления в

app.js? Почему p.id и post.id сравниваются друг между другом, если они по сути ссылаются на один элемент массива posts?

15 ответов

13 просмотров

p это один из постов массива posts, а post это аргумент, который ты передаешь а функцию.

Дмитрий- Автор вопроса
Павел
p это один из постов массива posts, а post это арг...

Да, но обрати внимание, что аргумент post по итогу ссылается на тот же массив posts.

Дмитрий
Да, но обрати внимание, что аргумент post по итогу...

Почитай как работает фильтр. Если после прочтения будут вопрсы, напиши сюда. https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

Дмитрий
Да, но обрати внимание, что аргумент post по итогу...

Ну ты в функцию передашь post, потом ищешь его в массиве, если в массиве у элемента p его Id равно Id post который ты передал, то тогда удаляешь. А если его нет, то и удалять нечего

Потому что: [1, 2, 3].filter(i => i !== 2) // [1, 3]

Дмитрий- Автор вопроса

То есть, при нажатии на кнопку в определенном посте, берется айди этого поста и сравнивается с элементом массива posts?

Yep

Дмитрий
То есть, при нажатии на кнопку в определенном пост...

А вообще лучше сразу id передавать в функцию, а не весь объект post

Дмитрий- Автор вопроса
Fred
Yep

Но непонятна логика сравнения элемента массива с определенным постом. Почему !==, а не ===?

Дмитрий- Автор вопроса
Fred
Yep

Должно же по идее выводить true

Дмитрий
Но непонятна логика сравнения элемента массива с о...

Потому что у тебя посты рендерятся из массива, чтобы удалить пост, надо удалить его из массива. Если сделаешь !== то он вернёт тебе все элементы, кроме конкретного поста и удалит все, кроме тех которых нажал, условно

Дмитрий- Автор вопроса
Fred
Потому что у тебя посты рендерятся из массива, что...

Грубо говоря, мы кликаем на пост, и фильтруем в новый массив все элементы из массива, кроме выбранного поста(поста, на который мы кликнули)?

Дмитрий
Грубо говоря, мы кликаем на пост, и фильтруем в но...

Нет. Фильтр возвращает тебе новый массив, в зависимости как ты отфильтровал. Ты нажал на пост, получил айди, передал в функцию, через фильтр получил массив с нужными постом, потом удалил его от туда. Вообще лучше тогда использовать indexOf, проще удалять будет

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта