@JSlang

Страница 715 из 2237
me
01.03.2017
07:09:03
https://habrahabr.ru/post/322602/#comment_10093554

Google
Oleg
01.03.2017
07:13:32
Если там надо расстояния высчитывать, поиск там

То уже нет

Через мап можно ещё, да

me
01.03.2017
07:13:48
нет, просто хранить и иногда проходиться по списку

Oleg
01.03.2017
07:14:15
Вариант с мап даже лучше будет

А то я олдскульщик сильно

me
01.03.2017
07:14:22
ну и я так же. Ну как бы расти нужно :)

Котяй Негодяй
01.03.2017
07:14:36
Хотя стоп.

Не. Мап работать не будет.

Oleg
01.03.2017
07:14:46
Да

Не будет

Потому что ссылки ?

Google
Котяй Негодяй
01.03.2017
07:15:00
Там же ==

Oleg
01.03.2017
07:15:04
Вот так вот, сбил меня с толку

Котяй Негодяй
01.03.2017
07:15:17
=))

Oleg
01.03.2017
07:15:19
Объекты лучше

Котяй Негодяй
01.03.2017
07:15:36
А какие координаты? Там у тебя дискретные значения?

me
01.03.2017
07:15:54
ну 6 цифр после запятой

Котяй Негодяй
01.03.2017
07:16:15
ну 6 цифр после запятой
А если между объектами 3 метра расстояния?

Они же попадут в разные категории.

me
01.03.2017
07:16:39
да, попадут

Котяй Негодяй
01.03.2017
07:16:44
Тебе нужен механизм агрегации.

me
01.03.2017
07:16:45
тут не очень важно на этом этапе

Котяй Негодяй
01.03.2017
07:17:03
Лучше сразу работай с БД.

hlomzik
01.03.2017
07:17:06
me
01.03.2017
07:17:06
в общем просто хотел проверить не совсем ли ужасно использовать координаты как key в объекте. Спасибо

Лучше сразу работай с БД.
тоже думал про in memory, но пока обощелся объектами

Котяй Негодяй
01.03.2017
07:17:38
PostgreSQL и монга умеют с гео-координатами.

me
01.03.2017
07:17:48
так мне на front это нужно :)

с PostgreSQL они и приходят

Котяй Негодяй
01.03.2017
07:18:07
так мне на front это нужно :)
Тогда писать свой механизм агрегации.

Предлагаю определить дискретные диапазоны и выбирать туда объекты.

Google
me
01.03.2017
07:18:54
Предлагаю определить дискретные диапазоны и выбирать туда объекты.
можно подробнее. очень интересно. Или ссылку какую-то если можно

Oleg
01.03.2017
07:19:16
Если ещё и группировать что рядом - это соооовсем другая задача

hlomzik
01.03.2017
07:20:12
Можно без кластеризации а по-тупому с округлением. Разбивая мир на квадраты по сути

Так а в чём проблема с мапами?

me
01.03.2017
07:20:26
Если ещё и группировать что рядом - это соооовсем другая задача
такая задача возможно будет. Но скорее всего это в posgresql решаться будет. Хотя в целях повышения образованности можем обсудить как сдлеать на front

Котяй Негодяй
01.03.2017
07:21:57
можно подробнее. очень интересно. Или ссылку какую-то если можно
class Objects { objects: Array<{ lat: number, lon: number, obj: Object, }>; getObj: (lat: number, lon: number) => Object; }

Oleg
01.03.2017
07:22:34
Поясните
Массивы передаются по ссылке. Чтобы получить потом элемент - нужно обратится этой ссылкой. Если сделать массив с теми же значениями - это будет другой массив. Необходимость хранения ссылок полностью убивает смысл в мапе в данном случае и в большинстве других - массивы, объекты, да и все не примитивные значения как ключи мапы - имеют очень узкий круг применения.

hlomzik
01.03.2017
07:22:47
class Objects { objects: Array<{ lat: number, lon: number, obj: Object, }>; getObj: (lat: number, lon: number) => Object; }
Если несколько объектов по этим координатам?

Котяй Негодяй
01.03.2017
07:23:00
me
01.03.2017
07:24:41
ну тогда и getObj будет Array<Object>?

me
01.03.2017
07:25:52
А что будет быстрее работать? Ну в плане O(n)?

hlomzik
01.03.2017
07:26:19
А, да. Поправил.
Я бы в основном массиве хранил объекты по одному, плюс индекс по координатам. И возврат массива в getObjects. Но зависит от задач.

Котяй Негодяй
01.03.2017
07:27:01
Да, изначально, нужно хранить начальные данные.

me
01.03.2017
07:28:02
такой подход все еще хорош? :)

{'100.500_300.700': [Obj1, Obj2, Obj3]}

Котяй Негодяй
01.03.2017
07:28:38
class Objects { objects: Array<{ lat: number, lon: number, indexDiscret: { lat: number, lon: number, }, obj: Object, }>; getObj: (lat: number, lon: number) => Object; addObj: (lat: number, lon: number, obj: Object) => this; }

me
01.03.2017
07:29:20
что такое indexDiscret?

Google
Котяй Негодяй
01.03.2017
07:29:23
Индекс дискретных значений координат (т.е., в какую категорию попадает тот или иной объект).

me
01.03.2017
07:30:19
угу, ясно. А тогда как добавлять туда object?

Котяй Негодяй
01.03.2017
07:32:21
me
01.03.2017
07:32:35
ну т.е. нужен удобный механизм добавить объект, посчитать сколько объектов по определенным координатам и получить их

Admin
ERROR: S client not available

Котяй Негодяй
01.03.2017
07:33:14
Поправил.

ну т.е. нужен удобный механизм добавить объект, посчитать сколько объектов по определенным координатам и получить их
Метод вычисляет, в какую категорию попадает объект, создаёт объект-обёртку, и пишет её в this.objects.

Oleg
01.03.2017
07:34:42
А ещё если объекты далеко то нужно учесть то что земля сфера

Котяй Негодяй
01.03.2017
07:35:07
Можно и без indexDiscret. Но тогда для поиска потребуется болше вычислений.

Котяй Негодяй
01.03.2017
07:35:25
Oleg
01.03.2017
07:35:25
Ну я думаю для этой задачи не нужно, но в целом если точность очень сильно важана - нужно

Котяй Негодяй
01.03.2017
07:36:21
эт зачем?
Затем, что градус широты и долготы в разных точках ЗШ равен разным расстояниям. =)

как по indexDiscret выбирать?
Гугли mdn array filter.

me
01.03.2017
07:36:51
а, это если группировать объекты по координатм

Котяй Негодяй
01.03.2017
07:37:30
me
01.03.2017
07:37:35
но тогда получается чтобы выбрать эти объекты получается 0(n), а с hashmap - 0(1)

Google
me
01.03.2017
07:37:45
но я могу конечно ошибаться

гуманитарий я

Котяй Негодяй
01.03.2017
07:38:09
Ну и мне чисто субъективно не очень нравится подход с вычисляемыми именями ключей.

Oleg
01.03.2017
07:39:04
Вычисляемые имена можно считать как хеш над строкой

Кстати, можно было бы и хеш юзать

Но не нужно

me
01.03.2017
07:41:00
ладно. мозг размяли с утра. Всем спасибо ?

Denis
01.03.2017
08:32:23
Привет всем нашел такую записть на стаковере function is_touch_device() { return !!('ontouchstart' in window); } для чего двойное отрицание?

Alex
01.03.2017
08:32:47
чтобы наверняка в булево перевести

есть ли в этом смысл другой вопрос)

Denis
01.03.2017
08:34:52
понял, спасибо)

Алексей
01.03.2017
09:30:43
Мы строили строили и наконец построили :) второй Angular митап (в Москве) уже на носу. Успевайте зарегистрироваться. https://meetup.tinkoff.ru/

Sergey
01.03.2017
09:33:19
Можете подсказать https://gist.github.com/anonymous/31b3814f7e386e6eef35e31747796e24 как мне по клику на .menu-tab добавлять класс к .menu-hide и потом по повторному добовлять другой по факту show/hide

Dmitry
01.03.2017
09:48:19
Хочется click-to-edit поле, и самый простой вариант - html5 contenteditable <p>. Это работает, но по окончании редактирования в поле попадают теги типа <br> (и они же уходят и на бэкэнд). Могу их пострипать, но это костыльно Как православно подружить rich text editing (отступы, переводы строки) + contenteditable? :) Может, кто-то знает

Страница 715 из 2237