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

Ребята привет! Есть масив объектов post = [{title:

"Hi", id:1}, {title: "foo", id:2] и объект newPost = {title: "good", id: 3}. Надо написать максимально короткое решение. Что если в масиве post нету такого id как в newPost. То в post запушить newPost. Кто поможет??

46 ответов

1 просмотр

так это в худшем случае 2 строки хд

posts.find(({ id }) => id === newPost.id) ?? posts.push(newPost);

i7 4n
posts.find(({ id }) => id === newPost.id) ?? posts...

Только лучше через some и через &&

это nullish coercial или как там его. Короче проверяет то что !== null + !== undefined

Так красивее будет posts.some(({ id }) => id === newPost.id) || posts.push(newPost);

Alexandr
Только лучше через some и через &&

ну да, согласен, вечно забываю про some

i7 4n
ну да, согласен, вечно забываю про some

Я просто для себя запомнил, что существует includes в который можно передавать предикат, забываю тоже как он называется, но просто помню, что он есть, чтобы в случае чего нагуглить

Alexandr
Я просто для себя запомнил, что существует include...

я бы всё равно в три строки написал хд

Alexandr
+

const postIsAlreadyIncluded = posts.some(({ id }) => id === newPost.id); if (!postIsAlreadyIncluded) { posts.push(newPost); } я б так сделал

i7 4n
const postIsAlreadyIncluded = posts.some(({ id }) ...

Я бы вот так ) const isNotExist = posts.every(({ id }) => id !== newPost.id); if (isNotExist) { posts.push(newPost); }

Alexandr
Я бы вот так ) const isNotExist = posts.every(({ ...

лучше not вынести из названия переменной

Alexandr
Я бы вот так ) const isNotExist = posts.every(({ ...

ну я бы в конце тогда отрицание сделал перед some, чем в предикате

Anton Permyakov
лучше not вынести из названия переменной

Мне наоборот больше нравится, когда нет отрицаний в if

так, не надо тут на однострочники борогозить

Alexandr
Мне наоборот больше нравится, когда нет отрицаний ...

мне тоже нравится, но лучше там, чем в переменных

Bogdan- Автор вопроса
Alexandr
Так красивее будет posts.some(({ id }) => id === n...

а как немного переделать? Что если такой айди уже есть то мы пушим уже с новым айди который например увеличиваем на 1??

Bogdan
а как немного переделать? Что если такой айди уже ...

id-то какой брать? максимальный в массиве или тот, что в newPost или что ащ

Alexandr
Почему?

потому что это обязательно приведет к таким условиям if (!isNotExist)

Bogdan- Автор вопроса
i7 4n
id-то какой брать? максимальный в массиве или тот,...

У меня есть обьект масиво постов, при добавлении новго поста должна быть проверка на айди если такой есть то мы увеличеваем на 1 айди нового поста

Alexandr
const isExist = !isNotExist;

и зачем эти 2 лишних шага?

Anton Permyakov
и зачем эти 2 лишних шага?

Затем что нужна и та и та переменная в твоем случае

i7 4n
ну нееее

Ну хз, потом и ту и ту переменную можно использовать и очень семантичненько получается

Alexandr
Ну хз, потом и ту и ту переменную можно использова...

тогда я бы сначала получил isExist, а потом уже const isNotExist = !isExist;

Bogdan
У меня есть обьект масиво постов, при добавлении н...

муть какая-то posts.some(({ id }) => id === newPost.id) || posts.push({ ...newPost, id: newPost.id + 1 });

Bogdan
хера се

да это муть, не делайте так, а то я потом за вами приду

Bogdan
а как тогда?)

если они у вас упорядочены, то берите id последнего или храните id. не пишите в одну строчку, когда там явно несколько действий и т.п.

Bogdan- Автор вопроса
i7 4n
если они у вас упорядочены, то берите id последне...

у меня задача сделать фейковий новий пост через апи, с апи все что ты получаешь это одинаковый айди сколько запросов ти не делал всегда айди один и тот же мне надо как то решить эту хрень

Bogdan- Автор вопроса

может оно и лучше

дыа, мужыцкий код, а эти ванлайнеры для мальчиков

Bogdan
может оно и лучше

не может, а есть

Bogdan
у меня задача сделать фейковий новий пост через ап...

короче вы там шо-то сложное мутите. в апи вы вообще должны просто кидать пост, а он вам возвращать с id

всё ситуативно, как всегда, да

Bogdan- Автор вопроса
i7 4n
муть какая-то posts.some(({ id }) => id === newPo...

Хотя это работает как нужно)

Bogdan- Автор вопроса
i7 4n
муть какая-то posts.some(({ id }) => id === newPo...

Ты говоришь что это говно, как его переписать что бы вырвиглазно не было то?)))

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
35
How to create an OS in C? what to study?
Linus
18
читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Подскажите, есть какие-то события создания/уничтожения у TFrame по типу TForm (OnCreate и OnClose/OnDestroy) ? Как отловить создание TFrame и "перед" уничтожением. На Tframe р...
Денис
8
а чем хуже?
Alexey Kulakov
10
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
1
Всем привет, передавал ли кто-нибудь File с рендер процесса в main? Просто виснет js. Где именно я без понятия. Не отрабатывают никакие логи. Как только я передаю обычный масс...
Ilya Ilya
4
Карта сайта