Size: a a a

JavaScript — русскоговорящее сообщество

2020 September 10

J

Jefferson in JavaScript — русскоговорящее сообщество
Всем привет, есть массив обьектов с пользователями, у каждого пользователя есть поле id. Так же есть массив id - все обьекты с данными id нужно исключить из массива. Пытаюсь сделать это так:
for (var i = 0; i < ids.lenght; i++) {
               state.UserData = state.UserData.map(obj =>
                   obj.id === ids[i] ? { obj = {} } : obj
               );
           }
Мб есть какoй-то более элегантный способ?
источник

VD

Vitalii D in JavaScript — русскоговорящее сообщество
Ilya Vegner
Всем привет. Я могу с помощбю postMessage из родителя донести сообщение до iframe?
да
источник

А

Артём in JavaScript — русскоговорящее сообщество
Друзья сори что вот так врываюсь с простым вопросом, но может скажете что не так? обработчики для 2х кнопок. использую jquery. Но всегда вызывается функция для первой кнопки, которая btn. даже если нажимаю на 2ю. Это даже не 2 кнопки. Просто я у одной кнопки после первого нажатию меняю id с btn на aaaa. Спасите)
источник

А

Артём in JavaScript — русскоговорящее сообщество
сам я в jquery пока не особо шарю, но вот эти функции нужно выпилить мне
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Артём
Друзья сори что вот так врываюсь с простым вопросом, но может скажете что не так? обработчики для 2х кнопок. использую jquery. Но всегда вызывается функция для первой кнопки, которая btn. даже если нажимаю на 2ю. Это даже не 2 кнопки. Просто я у одной кнопки после первого нажатию меняю id с btn на aaaa. Спасите)
Все просто - ты меняя айдишник элемента не меняешь сам элемент. У тебя все так же остаются обработчики на элементах. Решение. Удаляй обработчики и вешай в нужный момент на нужные элементы
источник

YD

Yevhen Dmytrenko in JavaScript — русскоговорящее сообщество
пытаюсь подключиться к websocket серверу, принцип такой, запущеный сервер на джанго и там внутри стрипт на джс который открывает коннект к websocket серверу и дальше по идее я смогу с ним общаться джсонами.  использую (https://www.npmjs.com/package/ws) ну и пример слиента переписал себе в скрипт, для того чтобы создать подключение. Но там у меня ошибка вылазит: Uncaught ReferenceError: require is not defined. Я погуглил и нашел решение: https://qna.habr.com/q/761201 но оно не совсем для меня видимо потому что у меня то нет самого приложения, у меня просто скрипт , ну и собственно это все) как быть и что делать?)
источник

А

Артём in JavaScript — русскоговорящее сообщество
Evgen
Все просто - ты меняя айдишник элемента не меняешь сам элемент. У тебя все так же остаются обработчики на элементах. Решение. Удаляй обработчики и вешай в нужный момент на нужные элементы
спасибо, unbind и bind решили проблему
источник

AP

Andrew Putintcev in JavaScript — русскоговорящее сообщество
Online Frontend Meetup: куда развиваться в 2020 году?

1. "React Hooks и производительность"
- Дмитрий Карпунин, Head of Frontend в Evrone
Больше двух лет React-сообщество осваивает Хуки — на первый взгляд простой подход, но всё так же не просто контролировать производительность. Доклад будет интересен как начинающим разработчикам, так и тем, кто думает что понимает, как работает его приложение.

2. "Прогрессивно ли PWA?" - Алексей Дорофеев
Senior Front-End developer DataArt
Идеал PWA и вероятность его реализации. Зачем нам PWA и чем оно лучше нативного. И лучше ли. Подводные камни и основные преимущества.
______________________________

🗓 19 сентября, 12:00–17:00, Суббота

🌐 ОНЛАЙН
______________________________

Регистрация на мероприятие https://cutt.ly/vfTL7ih
Кто хочет выступить с докладом, есть одно свободное место, пишите в личку)

Размещение согласовано с @sovasergey 🙈
источник

W

Wynell in JavaScript — русскоговорящее сообщество
Jefferson
Всем привет, есть массив обьектов с пользователями, у каждого пользователя есть поле id. Так же есть массив id - все обьекты с данными id нужно исключить из массива. Пытаюсь сделать это так:
for (var i = 0; i < ids.lenght; i++) {
               state.UserData = state.UserData.map(obj =>
                   obj.id === ids[i] ? { obj = {} } : obj
               );
           }
Мб есть какoй-то более элегантный способ?
мб array.filter?
источник

D

Danila in JavaScript — русскоговорящее сообщество
Jefferson
Всем привет, есть массив обьектов с пользователями, у каждого пользователя есть поле id. Так же есть массив id - все обьекты с данными id нужно исключить из массива. Пытаюсь сделать это так:
for (var i = 0; i < ids.lenght; i++) {
               state.UserData = state.UserData.map(obj =>
                   obj.id === ids[i] ? { obj = {} } : obj
               );
           }
Мб есть какoй-то более элегантный способ?
const newUsers = users.filter(user => IDs.incudes(user.id))
источник

AS

Andrey Spitsin in JavaScript — русскоговорящее сообщество
arr = [1, 2, 3]
funcs = []

for(var i = 0; i < arr.length; i++) {
 funcs[i] = function() {
   return i
 }
}

console.log(funcs[0]())
источник

AS

Andrey Spitsin in JavaScript — русскоговорящее сообщество
почему результат в этом коде 3? если на последней итерации цикла i = 2
источник

J

Jefferson in JavaScript — русскоговорящее сообщество
Danila
const newUsers = users.filter(user => IDs.incudes(user.id))
Благодарю
источник

A

Aleksandr in JavaScript — русскоговорящее сообщество
Andrey Spitsin
почему результат в этом коде 3? если на последней итерации цикла i = 2
потому что он увеличивает счетчик после выполнения цикла
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Andrey Spitsin
arr = [1, 2, 3]
funcs = []

for(var i = 0; i < arr.length; i++) {
 funcs[i] = function() {
   return i
 }
}

console.log(funcs[0]())
потому что переменные объявленные через var живут в области видимости функции, поэтому после цикла все функции возвращают одну и ту же i

замени var на let, он живёт внутри блока (в твоём случае итерации цикла), поэтому каждая функция будет возвращать собственную i
источник

AS

Andrey Spitsin in JavaScript — русскоговорящее сообщество
Aleksandr
потому что он увеличивает счетчик после выполнения цикла
arr = [1, 2, 3]
let c = 0;

for(var i = 0; i < arr.length; i++) {
 c = i;
}
console.log(c)

почему тогда так 2 выводится?
источник

A

Aleksandr in JavaScript — русскоговорящее сообщество
потому что цикл выполняется два раза
источник

АЗ

Андрей Звёздочка... in JavaScript — русскоговорящее сообщество
Andrey Spitsin
arr = [1, 2, 3]
let c = 0;

for(var i = 0; i < arr.length; i++) {
 c = i;
}
console.log(c)

почему тогда так 2 выводится?
Можешь переместиться в @js_noobs_ru? Это правда самая база
источник

IV

Ilya Vegner in JavaScript — русскоговорящее сообщество
Подгружаю в iframe свой сайт и в нём подключаю script локально, я в этом скрипте делаю window.postMessage(uuid, '*');
и теперь мне нужно ловить этот message на сайте, в котором подключём этот iframe
После загрузки сайта на котором стоит iframe с моим сайтом я делаю

window.addEventListener("message", function(e) {
    console.log(e)
   })

Но сообщение почему-то не доходит, что я делаю не так?
источник

АЗ

Андрей Звёздочка... in JavaScript — русскоговорящее сообщество
Ilya Vegner
Подгружаю в iframe свой сайт и в нём подключаю script локально, я в этом скрипте делаю window.postMessage(uuid, '*');
и теперь мне нужно ловить этот message на сайте, в котором подключём этот iframe
После загрузки сайта на котором стоит iframe с моим сайтом я делаю

window.addEventListener("message", function(e) {
    console.log(e)
   })

Но сообщение почему-то не доходит, что я делаю не так?
Подписываться надо на iframe, а не window
источник