
Rafael
04.02.2017
07:59:26
тогда еще раз мне поясните, какой тогда смысл в ключах в виде объекта?
из разных мест же нельзя будет получить нужный объект, а таскать с собой еще и массив ключе - ну бреед жеж

Vitaly
04.02.2017
08:00:44
ну... ты можешь сделать
let key = {a: 1}; map.set(key, false); key.a = 2; map.has(key) = true

Rafael
04.02.2017
08:00:50
такой подставы я от js не ожидал :/

Google

Alex
04.02.2017
08:01:08
Всё логично!)

Rafael
04.02.2017
08:01:14
ну вот теперь я не могу использовать Map как хранилищие и доставать, пихать в него какие-то элементы

Alex
04.02.2017
08:02:34
можешь попробовать в ключ класть не объект, а строку после JSON.stringify

Rafael
04.02.2017
08:02:49

Vitaly
04.02.2017
08:02:55
не не, стринга будет разная)

Alex
04.02.2017
08:03:18

Vitaly
04.02.2017
08:03:26
порядок не гарантирован при JSON.stringify

Rafael
04.02.2017
08:03:57
я как раз и использовать словарь хотел, потому что у него операции get, set, has должны стоить всего О(1) при использовании хешей
в плюсах бы все прокатило и все были бы счастливы
но обратно как?

Alex
04.02.2017
08:05:54
ааа... дааа... засада) может и так сложиться

Google

Alex
04.02.2017
08:06:22

Rafael
04.02.2017
08:06:48

Alex
04.02.2017
08:07:09
ты просто не умеешь её готовить)))

Vitaly
04.02.2017
08:07:54
А можешь напомнить какую проблемы ты решаешь?)

Rafael
04.02.2017
08:08:30

Vitaly
04.02.2017
08:09:59

Rafael
04.02.2017
08:10:03
const pointToJSON = ({x, y}) => {"x":${x},"y":${y}}``

Vitaly
04.02.2017
08:13:05
да не, жесть какая-то)

Rafael
04.02.2017
08:13:30
что не сделаешь ради скорости работы с словарем
хотя парсинг может и съекст пости все
не, не съест

Vitaly
04.02.2017
08:14:38
что бы работать с has тебе нужно будет мутировать один и тот же объект
const a = new Map();
const b = new Map();
b.set(a, false);
a.set('d', true)
b.has(a) // true
то есть просто не создавай новый объект)

Stanislav
04.02.2017
08:15:37
О какой производительности парсинга ты говоришь?

Rafael
04.02.2017
08:16:32

Vitaly
04.02.2017
08:17:26
ну в смысле не создавай новый ключ, а мутируй старый. там проверка на key === key, соответственно new Object === new Object // false
логично же)

Rafael
04.02.2017
08:18:33

Google

Rafael
04.02.2017
08:19:06

Alex
04.02.2017
08:21:00
номера строк это конечно круто, особенно когда их нет на скрине)))

Rafael
04.02.2017
08:21:18
уппс, мой косяк))

Alex
04.02.2017
08:21:37
так может тебе вместо объекта просто конструировать строку из индексов? к примеру разделенными минусами или еще чем

Rafael
04.02.2017
08:22:34
и парсить обратно через json.parse

Vitaly
04.02.2017
08:25:33
это все дорогие операции, я не совсем вкурил в то, что происходит, но рас уж на то пошло, то заэкстендь Map и напиши свой has)

Rafael
04.02.2017
08:26:16
хотя попробовать можно
тогда нужно будет везде переписать операции сравнения

Vitaly
04.02.2017
08:30:23
можешь еще выпендриться и ключем сделать не объект, а массив и делать join/split

Rafael
04.02.2017
08:30:56
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
а что насчет этого?

Vitaly
04.02.2017
08:37:23
Да тут тебе ничего не поможет, можешь не пытаться)

Rafael
04.02.2017
08:37:36
может кто уже написал свою реализацию? правда загуглить не получается :/

Vitaly
04.02.2017
08:39:31
Блин, ну представь что ты сравниваешь кусок памяти с куском памяти на то что это один и тот же кусок, конечно нет)

Google

Rafael
04.02.2017
08:48:43
карочи срань
я то думал что там не по адресу сравнение идет, а например по хешу или по побитовому сранвнению
Почему они не могут как во всех нормальных языках сделать возможность нормального сравнения?
В итоге это выясняется когда уже все написал и осталось всего пара строчек, чтобы, как я думал, заработало как надо

Alexandr
04.02.2017
08:52:49
чувак, это буквально в первых параграфах любой книги объясняется
когда разговор заходит за операторы сравнения

Rafael
04.02.2017
08:53:39
Все все, ушёл читать
Хотя есть выход, там ведь в качестве ключа можно функцию передавать, может быть это можно как-то задействовать, надо будет посмотреть

Rafkat
04.02.2017
08:56:11
Всем привет

Admin
ERROR: S client not available

Vitaly
04.02.2017
08:56:53

Alex
04.02.2017
08:57:30
?

Andrey
04.02.2017
09:01:28
тогда от хеша никакого отличия нет
только еще хуже - очень медленно

Rafael
04.02.2017
09:04:22
А у меня она самая частая

Stanislav
04.02.2017
09:15:24
Такое чувство, будто ты там базы данных на клиенте ворочаешь. Что там Кнут говорил по этому поводу?

Rafkat
04.02.2017
09:21:15
Коллеги, такой вопрос
Как подключать компонент навбара для приложения?

Stanislav
04.02.2017
09:23:11
Чочо

Google

Rafkat
04.02.2017
09:23:27
Сделать App.vue как основную точку входа в приложение?
А ней например писать в шаблоне
<navbar></navbar>
<router-view></router-view>
вообще как бы предложили где стоит хранить и как подключать компоненты приложения, ту же страницу логина например

Stanislav
04.02.2017
09:27:34
Укажи в components app.Vue твой navbar

Rafkat
04.02.2017
09:28:10
спасибо
это понятно
в принципе здесь так и сделано
https://github.com/vuejs/vue-hackernews-2.0/blob/master/src/App.vue

Stanislav
04.02.2017
09:29:57
И в vue-cli тоже

Rafael
04.02.2017
09:32:44
Я вот думаю, может не париться и ключи сделать строчками?
Сравнение коротких строчек не такое уж и дорогое
Точно не дороже сравнения объектов

Rafkat
04.02.2017
09:35:47

Rafael
04.02.2017
09:36:17

Illya
04.02.2017
10:06:25

Stanislav
04.02.2017
10:06:38
Да :)

Igor
04.02.2017
10:13:33
js отстой, поэтому и maps/sets в нём такие отстойные ?

Illya
04.02.2017
10:25:11
Да и вообще нечего на js писать

Rafael
04.02.2017
10:25:27
не, ну что вы так, я все исправил

Illya
04.02.2017
10:25:38
(троллей не кормлю)