Size: a a a

2020 June 02

DE

Denis Efremov in pro.js
Александр Козлов
ну это решение логичное, но если кто-то просто забудет это сделать? Просто было бы удобно, если объект внутри компонента, который был ключом перестанет существовать и в след за ним умрет подписка на обработчик
А как ты получишь доступ к этому объекту?
источник

АК

Александр Козлов... in pro.js
Denis Efremov
А как ты получишь доступ к этому объекту?
а у меня рядом есть еще один массив
источник

DE

Denis Efremov in pro.js
Александр Козлов
а у меня рядом есть еще один массив
С этими объектами?
источник

DE

Denis Efremov in pro.js
А почему ты уверен, что такое удаление, снимет обработчик?
источник

АК

Александр Козлов... in pro.js
Denis Efremov
А почему ты уверен, что такое удаление, снимет обработчик?
я кажется понял к чему ты ведешь, походу этот способ не рабочий
источник

DE

Denis Efremov in pro.js
Обработчики кстати тоже в массиве хранятся
источник

АК

Александр Козлов... in pro.js
Denis Efremov
Обработчики кстати тоже в массиве хранятся
угу
источник

L

Lupusregina[beta] in pro.js
Александр Козлов
Всем привет, подскажите, пожалуйста, почему не работает WeakMap? Или я просто не понимаю как он должен работать?
let activeUsers = [
 {name: "Вася"},
 {name: "Петя"},
 {name: "Маша"}
];

let weakMap = new WeakMap();
let activeUserMap = new Map();

weakMap.set(activeUsers[0], 1);
weakMap.set(activeUsers[1], 2);
weakMap.set(activeUsers[2], 3);

activeUserMap.set(activeUsers[0], 1);
activeUserMap.set(activeUsers[1], 2);
activeUserMap.set(activeUsers[2], 3);

activeUsers.splice(0, 1);

console.log(weakMap);
console.log(activeUserMap);

Я думаю, что при удалении объекта из массива activeUsers этот элемент должен автоматически удалиться из weakMap, но этого не происходит
в данном случае не удалится, т.к. сылка в activeUserMap еще живет.
Почему ты в консоли видишь что в викмапе есть элементы? вообще вик мап кроме как в консоли и не увидеть ни где, и доступ ты к элементам не получишь. А видишь ты потому что gc еще не отработал
источник

L

Lupusregina[beta] in pro.js
Александр Козлов
Всем привет, подскажите, пожалуйста, почему не работает WeakMap? Или я просто не понимаю как он должен работать?
let activeUsers = [
 {name: "Вася"},
 {name: "Петя"},
 {name: "Маша"}
];

let weakMap = new WeakMap();
let activeUserMap = new Map();

weakMap.set(activeUsers[0], 1);
weakMap.set(activeUsers[1], 2);
weakMap.set(activeUsers[2], 3);

activeUserMap.set(activeUsers[0], 1);
activeUserMap.set(activeUsers[1], 2);
activeUserMap.set(activeUsers[2], 3);

activeUsers.splice(0, 1);

console.log(weakMap);
console.log(activeUserMap);

Я думаю, что при удалении объекта из массива activeUsers этот элемент должен автоматически удалиться из weakMap, но этого не происходит
источник

L

Lupusregina[beta] in pro.js
принудительно вызвать gc можно так
источник

АК

Александр Козлов... in pro.js
Lupusregina[beta]
принудительно вызвать gc можно так
спасибо, не знал про это)
источник

DE

Denis Efremov in pro.js
Lupusregina[beta]
принудительно вызвать gc можно так
https://regex101.com/r/wlKkb3/5

Люпус, как это заматчить?
источник

DE

Denis Efremov in pro.js
источник

L

Lupusregina[beta] in pro.js
а что надо найти
источник

DE

Denis Efremov in pro.js
Lupusregina[beta]
а что надо найти
non
ono
opo
oao
источник

L

Lupusregina[beta] in pro.js
Denis Efremov
non
ono
opo
oao
то есть что бы по кроям одинаковые буквы и центре другая
источник

DE

Denis Efremov in pro.js
lf
источник

DE

Denis Efremov in pro.js
То что в паттерне
источник

L

Lupusregina[beta] in pro.js
а что в патерне
источник

L

Lupusregina[beta] in pro.js
источник