Anonymous
Хахах
Dreamerinnoise
Ругается и это нормально
Ограничения нужны, иначе лапша получается, как вот здесь
Dreamerinnoise
всегда можно сделать test._prop = 1
Dreamerinnoise
лучше уж юзать функции, а не сеттеры/геттеры
Sergey
ограничение должно быть в мозгах
Sergey
хотя я не спорю с твоим утверждением
Sergey
но сеттеры это не очевидно
Sergey
обсудили уже
Anonymous
ограничение должно быть в мозгах
Я не хочу быть ограниченным человеком. =)
Sergey
если надо запретить изменить поле всегда есть Symbol и getValue() метод
Sergey
Я не хочу быть ограниченным человеком. =)
увы, ты вынужден принимать пищу чтобы жить смирись
Serhii
Я тоже встречал на счёт геттеров не рекомендации но все равно использую
Serhii
Главный минус - не отличить проперти от метода
Sergey
так в этом и проблема
Anonymous
увы, ты вынужден принимать пищу чтобы жить смирись
Еда — это не ограничение, а божественная благодать.
Serhii
И потом не знаешь искать ли в структуре либо в классе
Dreamerinnoise
Serhii
А ЖС их язык
Sergey
всё больше убеждаюсь, что надо переходить в системные языки
Sergey
по крайней мере в rust есть стиль кода и форматтер, который дают авторы языка
Serhii
Но если ты до сих пор не перешёл, значит..
Sergey
на всё нужно время
Serhii
Семь вдохов
Serhii
И не перейдёшь
Sergey
с чего такая уверенность?
Aleksandr
Просто он мотивирует тебя. Ты сейчас разозлишься и перейдёшь)
andrei
Указатель на указателе, Arc<Lol<Mem<T>>>>>>>>>, заимстовавание
andrei
)
Sergey
Указатель на указателе, Arc<Lol<Mem<T>>>>>>>>>, заимстовавание
что? ну Arc юзается при распараллеливании работы
Sergey
а так вполне себе цивильно выглядит
Sergey
Rust в браузере не хочет работать.
webassembly будет но я и не хочу rust в браузере
usernameak
Haskell
Anonymous
https://wiki.haskell.org/Yhc/Javascript/Brief_overview
⩔wein
webassembly будет но я и не хочу rust в браузере
Вне браузера можно что угодно использовать, какие проблемы. Были бы инструменты удобные.
⩔wein
Проблема в том что js в обозримом будущем заменить не выйдет
Sasha
всем привет, допустим, есть некий массив(лист) объектов. Как быстрее всего(в плане использования ресурсов) удалить объект из массива? Или может стоит использовать map, где ключом будет хэш объекта, а значением сам объект?
Oleg
А как определяется что нужно удалить элемент?
Oleg
По айди какому-либо?
Oleg
У объектов этих есть айди?
Sergey
ну вообще slice или filter
Anonymous
Написал компонет за вечер, пытаюсь написать к нему тест уже 5 вечеров. Долбаный jsdom, долбаный matchMedia. Прошлось писать свой полифил к нему. Всё, что нашёл, кривое.
Sergey
enzyme ?
Anonymous
Т.е. объект в JS.
Sasha
А как определяется что нужно удалить элемент?
Такого прям проперти, как айди нет внутри объекта. Но ведь у каждого объекта должен быть свой уникальный идентификатор, хэш? Я могу написать аналог на питоне или на java.
Anonymous
enzyme ?
Там не представлен matchMedia.
Anonymous
Он ваще, похоже, только в браузерах и есть.
Sasha
Ассоциативный массив, конечно, быстрее.
А как узнать хэш у объекта? Никак не могу нагуглить. У меня есть массив с объектами: [<Object1>, <Object2>,....] и мне нужно с минимальныими потерями удалить оттуда например <Object2>. Но не по какому-то проперти
Sasha
Ну перед добавлением используешь какой-нибудь индекс.
индексы там не подойдут. очень нетривиальная ситуация
Sasha
хешей нет отфильтруй по ссылке на объект
вот по ссылке - это норм вариант. Подскажите: как можно проверить?
Anonymous
delete arr[index]
Sergey
delete arr[index]
Бляяя И у массива не изменится длина
Anonymous
И что?
Anonymous
Зато быстро.
Sasha
delete arr[index]
это вообще не то
Oleg
Зато быстро.
Утечка памяти
Sergey
вот по ссылке - это норм вариант. Подскажите: как можно проверить?
const target = {a:1} const arr = [] arr.push(target) const newArr = arr.filter(a => a !== target)
Sergey
Зато быстро.
быстро? Это просто замена на undefined с утечкой
Oleg
Нужно либо объектам дать айдишники и юзать не массив а объект, либо страдать с перебором массива каждый раз
Sergey
ну есть же Map и Set
Oleg
Или вот мап и сет
Sasha
понял, то есть в жс ссылку мы проверяем так же ([<object1>, <object2>,...][1] === <object2>]) === true? Это схематичные пример, прост в том же питоне проверка ссылки - это is.
Sasha
ну есть же Map и Set
Но для мэпа нужны какие-то идентификаторы. А их нет, если нет хэша у объектов
Oleg
Без идентификаторров никак
Sergey
Sergey
Sasha
Спасибо большое вам. Понял, что без перебора к сожалению не обойтись.
Oleg
Нужно объектам айди давать
Oleg
Это классика
Oleg
Для JS