@js_noobs_ru
JavaScript Noobs — сообщество новичков

Чат для новичков Правила: https://teletype.in/@js_noobs_ru/S1ia4hXQm Другие полезные чаты — https://github.com/goq/telegram-list или https://rudevs.network/ByKT2JwWQ

2124 members

Архив канала @js_noobs_ru 30 июля 2018 г.

12:00:54 ДП
12:01:04 ДП
12:01:07 ДП
User 209832751
это полиция?
12:01:37 ДП
User 380460973
Зачем так грубо?
12:48:23 ДП
User 129285156
Ребят, есть к примеру приложение, банальный todo-list, как правильно распределить по файлам логику приложения? Ну там ajax-запросы, обработчики и декоративное всё
12:49:55 ДП
User 200200555
Привет. Код

Есть класс Modal, с атрибутами modal и password, где первый - бутстраповская форма, а password - обычный инпут. В классе метод initClickListeners() внутри которого биндится на кнопочку клик ивент. 

Если делать если внутри метода 'this.password` существует, то внутри коллбека нажатия не существует. В примере после нажатия в консольку выводит undefined

В чём проблема?
12:51:10 ДП
User 200200555
(на export default не сильно обращайте внимание, на самом деле класс и код ниже его определения разнесен в разные файлы)
01:00:06 ДП
User 200200555
User 200200555
Привет. Код

Есть класс Modal, с атрибутами modal и password, где первый - бутстраповская форма, а password - обычный инпут. В классе метод initClickListeners() внутри которого биндится на кнопочку клик ивент. 

Если делать если внутри метода 'this.password` существует, то внутри коллбека нажатия не существует. В примере после нажатия в консольку выводит undefined

В чём проблема?
Если код из метода вынести повыше, после создания экземпляра, заменить this на accModal, то всё прекрасно работает

Или например в начале метода создать переменную которой присвоить this. Не очень очевидный механизм работы конечно...
01:03:19 ДП
User 200200555
Чувствую что надо переходить на что-то получше жиквери, на нормальном таком проекте получается лютейший говнокод.
01:21:40 ДП
User 215655868
User 200200555
Привет. Код

Есть класс Modal, с атрибутами modal и password, где первый - бутстраповская форма, а password - обычный инпут. В классе метод initClickListeners() внутри которого биндится на кнопочку клик ивент. 

Если делать если внутри метода 'this.password` существует, то внутри коллбека нажатия не существует. В примере после нажатия в консольку выводит undefined

В чём проблема?
Ты this.secret забыл объявить
01:22:30 ДП
User 200200555
User 215655868
Ты this.secret забыл объявить
Это я где-то при копипасте что-то забыл поменять на password
01:24:09 ДП
User 215655868
User 200200555
Привет. Код

Есть класс Modal, с атрибутами modal и password, где первый - бутстраповская форма, а password - обычный инпут. В классе метод initClickListeners() внутри которого биндится на кнопочку клик ивент. 

Если делать если внутри метода 'this.password` существует, то внутри коллбека нажатия не существует. В примере после нажатия в консольку выводит undefined

В чём проблема?
this.secret, это не this modal
01:25:06 ДП
User 200200555
User 215655868
this.secret, это не this modal
Поправил
01:25:17 ДП
User 215655868
User 200200555
Привет. Код

Есть класс Modal, с атрибутами modal и password, где первый - бутстраповская форма, а password - обычный инпут. В классе метод initClickListeners() внутри которого биндится на кнопочку клик ивент. 

Если делать если внутри метода 'this.password` существует, то внутри коллбека нажатия не существует. В примере после нажатия в консольку выводит undefined

В чём проблема?
Кароче просто замени function(е){...} на (e) => {..} и все заработает
01:25:52 ДП
User 200200555
User 215655868
Кароче просто замени function(е){...} на (e) => {..} и все заработает
Это какой-то новый синтаксис es6?
01:26:21 ДП
User 215655868
Уже старый. Arrow function
01:26:37 ДП
User 200200555
А почему заработает?
01:27:57 ДП
User 200200555
User 200200555
А почему заработает?
И да, спасибо, так намного красивее
01:27:58 ДП
User 215655868
This разный
01:29:27 ДП
User 215655868
У обычной функции this того, кто ее вызвал
01:29:55 ДП
User 215655868
У стрелочной нет
01:30:03 ДП
User 200200555
Понял, спасибо.
02:27:49 ДП
User 200200555
Код

Есть задача внутри одной функции вызвать другую, в которой идёт полинг юрла и при получении нужных данных clearTimeout и возвращение этих данных. В данном же случае let message = this.getTaskStatusMessage(uuid) не ждёт ответа видимо присваивая undefined переменной message

В связи с чем вопрос: а как подождать? Я наслышан про await синтаксис и про промисы в жс, но никогда их не юзал. В общем подскажите решение данной проблемы
03:06:43 ДП
User 436313971
Ребят ESlint ругается - error    'XMLHttpRequest' is not defined  no-undef , что делать?
04:10:03 ДП
User 239032691
var request = new XMLHttpRequest();
04:12:39 ДП
06:11:01 ДП
User 92383920
Здравствуйте. Делаю по уроку и не проходит Post в API
06:11:16 ДП
User 92383920
https://medium.freecodecamp.org/how-to-setup-a-powerful-api-with-nodejs-graphql-mongodb-hapi-and-swagger-e251ac189649
medium.freecodecamp.org/how-to-setup-a-powerful-api-with-nodejs-graphql-mongodb-hapi-and-swagger-e251ac189649
Separating your frontend and backend has many advantages:
06:11:26 ДП
User 92383920
Что я делаю не так?
06:28:50 ДП
User 155513348
ну вообще 404 ошибка, по урлу не находит
06:44:23 ДП
User 92383920
но урл то правильный
06:44:52 ДП
User 92383920
по гет приходит пустой массив
06:45:47 ДП
User 13332815
User 155513348
не люблю когда пишут так чисто "для красоты"
Хорошо, а какие, по-твоему,оправданные юзкейсы стрелочных функций?
06:46:08 ДП
User 155513348
User 13332815
Хорошо, а какие, по-твоему,оправданные юзкейсы стрелочных функций?
когда нужно сохранить контекст
06:46:40 ДП
User 155513348
+ const func = () => это не то же самое что function test() по объявлению
06:47:07 ДП
User 13332815
User 155513348
когда нужно сохранить контекст
А как же читаемость кода, все дела?
06:47:23 ДП
06:47:27 ДП
User 155513348
а что сложного?
06:47:50 ДП
User 155513348
я просто не понимаю сложностей в читабельности и оправданного использования
06:49:28 ДП
User 13332815
Ну, например, в промисных цепочках надо контекст сохранять? Просто там поголовно, сколько я вижу, используются стрелочные функи.
06:52:57 ДП
User 155513348
смотря где промис описывается, если внутри цепочки используется родительский this то стрелочную использовать
06:53:18 ДП
User 155513348
а так нет смысла использовать стрелочную
06:54:07 ДП
User 155513348
в общем дело вкуса, я не использую стрелочные везде подряд
07:07:31 ДП
User 284294073
User 155513348
когда нужно сохранить контекст
сорян за занудство, но стрелочная функция как раз таки теряет контекст вызова, а не сохраняет его. ключевое слово тут "вызов", и стрелке всё равно - где он, конекст будет всегда один.
07:08:07 ДП
User 155513348
сохраняет в смысле родительский контекст
07:22:44 ДП
User 430663402
кто подскажет как сравнивать даные елементов масива, которые являются обектами только по избранным ключам чтобы красиво было?) или пилить через ворич и иф
07:26:42 ДП
User 284294073
User 430663402
кто подскажет как сравнивать даные елементов масива, которые являются обектами только по избранным ключам чтобы красиво было?) или пилить через ворич и иф
напиши сюда свой вариант, тебе подскажут - как сделать лучше.
07:27:44 ДП
User 430663402
products.forEach(function(product){
                if(product.id == data.id && product.color == data.color && product.size == data.size && product.option == data.option) {
                    console.log('we have!');
                } else {
                    console.log('not here!');
                }
            });
07:29:29 ДП
User 67164223
я бы такую проверку вынес в отдельную функцию
07:30:09 ДП
User 284294073
а ключи передавать в параметрах функции
07:30:34 ДП
07:30:56 ДП
User 284294073
и заюзать спред и стрелки, будет читабельней
07:31:09 ДП
User 430663402
все равно громоздко будет, передать масив, потом ключи потом даніе для сравнения
08:22:24 ДП
User 284294073
User 430663402
все равно громоздко будет, передать масив, потом ключи потом даніе для сравнения
const compare = (obj, ...keys) => keys.every( key => obj[key] && data[key]);
08:36:17 ДП
User 430663402
круть
08:36:22 ДП
User 430663402
спасибо
08:46:04 ДП
User 215655868
User 200200555
Код

Есть задача внутри одной функции вызвать другую, в которой идёт полинг юрла и при получении нужных данных clearTimeout и возвращение этих данных. В данном же случае let message = this.getTaskStatusMessage(uuid) не ждёт ответа видимо присваивая undefined переменной message

В связи с чем вопрос: а как подождать? Я наслышан про await синтаксис и про промисы в жс, но никогда их не юзал. В общем подскажите решение данной проблемы
тебе нужно из getTaskStatusMessage возращать промис
08:46:25 ДП
User 200200555
User 215655868
тебе нужно из getTaskStatusMessage возращать промис
Понял, я примерно так и думал, спасибо
08:46:56 ДП
User 215655868
и не пиши объекты так
08:47:16 ДП
User 215655868
просто data.message
08:47:57 ДП
User 200200555
User 215655868
просто data.message
Принял, привычка с питона
08:47:57 ДП
User 208461694
User 215655868
и не пиши объекты так
на пхпписта похоже
08:48:08 ДП
User 208461694
User 200200555
Принял, привычка с питона
сорян, за пхписта принял
08:48:36 ДП
User 215655868
User 200200555
Понял, я примерно так и думал, спасибо
getTaskStatusMessage(uuid) {
...
return new Promise((res, rej) => {
    ...
    res(5)
  })
}
08:49:15 ДП
User 200200555
User 215655868
getTaskStatusMessage(uuid) {
...
return new Promise((res, rej) => {
    ...
    res(5)
  })
}
Дальше я уже сам)

Мне обычно только направление дать и я всё нагуглю и вычитаю
08:50:02 ДП
User 215655868
User 200200555
Принял, привычка с питона
А еще у нас swith case есть)
08:51:27 ДП
User 208461694
User 215655868
и не пиши объекты так
кстати, а чем плох такой способ записи, кроме того, что не очень удобен? на производительность как-то влияет?
08:51:42 ДП
User 215655868
нет. просто стилистика
08:52:33 ДП
User 200200555
User 215655868
нет. просто стилистика
А если ключи жсона не аски нормально подхватит?
08:52:34 ДП
User 215655868
просто зачем писать лишние символы, когда их можно не писать 🤷‍♂️
08:53:02 ДП
User 215655868
не аски?
08:55:11 ДП
User 200200555
User 215655868
не аски?
В смысле если символы не чисто латынь
08:57:25 ДП
User 215655868
типо жсон на еврите? не встречался с таким, даже на руском жсоны не пишут. все на англ, ну а если и есть, то я хз где брать эти символы чтоб получать значения жсона
09:00:22 ДП
User 200200555
User 215655868
типо жсон на еврите? не встречался с таким, даже на руском жсоны не пишут. все на англ, ну а если и есть, то я хз где брать эти символы чтоб получать значения жсона
Тоже верно в принципе
09:01:29 ДП
User 67164223
User 200200555
А если ключи жсона не аски нормально подхватит?
то это не json
09:11:40 ДП
User 317251595
подскажите как написать регулярку для диапазона чисел от 19 до 79??
09:13:09 ДП
User 200200555
User 317251595
подскажите как написать регулярку для диапазона чисел от 19 до 79??
19|[2-7][0-9]
09:13:45 ДП
User 60331718
User 200200555
19|[2-7][0-9]
10
09:13:47 ДП
09:13:48 ДП
09:13:50 ДП
09:13:54 ДП
User 60331718
ну ты понял
09:13:57 ДП
User 200200555
Бля, точно.
09:14:07 ДП
User 60331718
User 317251595
подскажите как написать регулярку для диапазона чисел от 19 до 79??
тебе точно нужна регулярка?
09:14:22 ДП
User 60331718
или тебе нужен валидатор для этого диапазона?
09:15:14 ДП
User 60331718
User 317251595
подскажите как написать регулярку для диапазона чисел от 19 до 79??
http://gamon.webfactional.com/regexnumericrangegenerator/
09:15:19 ДП
User 200200555
Обновил
09:15:36 ДП
User 60331718
User 200200555
Обновил
найс
09:16:03 ДП
User 60331718
но надеюсь что у себя в проекте я такое не увижу без комментария
09:18:12 ДП
User 200200555
В пыхтоне я бы написал i in range(19, 80)
09:19:02 ДП
User 60331718
User 200200555
В пыхтоне я бы написал i in range(19, 80)
почему там это бы сработало?
09:19:11 ДП
User 60331718
range это же генератор 🤔
09:19:28 ДП
User 160900344
User 60331718
range это же генератор 🤔
проверка на вхождение
09:19:42 ДП
User 60331718
т.е ты сгенерируешь каждое значние в этом интервале?
09:20:15 ДП
User 160900344
User 60331718
т.е ты сгенерируешь каждое значние в этом интервале?
ну а что в этом такого? этож генератор
09:20:15 ДП
User 60331718
при этом питоне один из немногих языков, который позволяет это:
19 < i < 80
09:20:47 ДП
User 60331718
User 160900344
ну а что в этом такого? этож генератор
в худшем случае это генерация 60 чисел
09:20:50 ДП
User 60331718
ну камон
09:21:00 ДП
User 60331718
зачем так тормозить работу программы?
09:21:06 ДП
User 215655868
User 60331718
при этом питоне один из немногих языков, который позволяет это:
19 < i < 80
что это? i меньше 80 и больше 19 ?
09:21:23 ДП
User 60331718
User 215655868
что это? i меньше 80 и больше 19 ?
да
09:21:26 ДП
User 60331718
на python
09:21:32 ДП
09:21:36 ДП
09:22:21 ДП
User 60331718
User 215655868
js
вах, вах
09:22:25 ДП
User 215655868
🤷‍♂️
09:22:34 ДП
09:22:40 ДП
User 194411327
а что не так7
09:22:54 ДП
User 194411327
19 меньше 20 и 20 меньше 80
09:22:56 ДП
09:23:02 ДП
User 60331718
все норм, прото я раньше такое не использовал
09:23:09 ДП
User 60331718
не пробовал даже, лол
09:23:11 ДП
09:23:16 ДП
User 60331718
нормас, день прожит не зря
09:24:26 ДП
User 160900344
User 60331718
при этом питоне один из немногих языков, который позволяет это:
19 < i < 80
мы не ищем легких путей 🌚
09:24:39 ДП
User 215655868
ast разбивает такие выражения на left right
09:24:50 ДП
User 215655868
как и ObjectExpression
09:25:11 ДП
User 200200555
User 60331718
range это же генератор 🤔
Если кратко, то в конкретно генераторе range определёна магическая функция __contains__ которая отвечает за проверку x in obj, а внутри скорее всего обычное сравнение чисел, но это надо сорсы питона смотреть
09:27:13 ДП
User 60331718
User 200200555
Если кратко, то в конкретно генераторе range определёна магическая функция __contains__ которая отвечает за проверку x in obj, а внутри скорее всего обычное сравнение чисел, но это надо сорсы питона смотреть
но это все равно генерация до 60 чисел
09:27:18 ДП
User 60331718
а не простое сравнение
09:27:43 ДП
User 215655868
User 200200555
Если кратко, то в конкретно генераторе range определёна магическая функция __contains__ которая отвечает за проверку x in obj, а внутри скорее всего обычное сравнение чисел, но это надо сорсы питона смотреть
range в питоне крутой. мне такого в жс не хватает
09:29:12 ДП
User 200200555
User 60331718
но это все равно генерация до 60 чисел
Не, генерация только при итерации по рэйнджу. Ленивый алгоритм кароче
09:29:29 ДП
User 60331718
User 200200555
Не, генерация только при итерации по рэйнджу. Ленивый алгоритм кароче
я и говорю, что ДО 60 чисел
09:29:47 ДП
User 200200555
Во втором питоне да, сразу же функция возвращала список
09:29:52 ДП
User 60331718
если у тебя число будет 80+ то ты всегда будешь генерить по 60 чисел
09:30:03 ДП
User 60331718
User 200200555
Во втором питоне да, сразу же функция возвращала список
я знаю
09:30:16 ДП
User 160900344
User 60331718
но это все равно генерация до 60 чисел
там ленивые вычисления
09:30:35 ДП
User 200200555
User 60331718
я и говорю, что ДО 60 чисел
Не, оно ничего не генерирует если мы просто вызываем in, которая обращается к __contains__ экземпляра рэйнджа
09:30:52 ДП
User 160900344
User 60331718
я и говорю, что ДО 60 чисел
не, там это моментально работает, ты хоть миллиард сгенерируй
09:30:53 ДП
User 60331718
User 200200555
Не, оно ничего не генерирует если мы просто вызываем in, которая обращается к __contains__ экземпляра рэйнджа
и что происходит дальше?
09:31:24 ДП
User 60331718
ну и что, что там происходит обращение к contains, а дальше что?
09:31:29 ДП
User 200200555
User 60331718
и что происходит дальше?
И всё, gc чистит память
09:32:07 ДП
User 60331718
🤦‍♂️ давай по дейтсвиям
09:32:18 ДП
User 60331718
я подаю на вход i = 80, что дальше?
09:33:01 ДП
User 60331718
дальше твой рендж делает 60 сравнений, прежде чем скажет, что число не находится в нужном диапазоне
09:34:08 ДП
User 160900344
User 60331718
я подаю на вход i = 80, что дальше?
https://stackoverflow.com/questions/18139660/python-string-in-operator-implementation-algorithm-and-time-complexity
stackoverflow.com/questions/18139660/python-string-in-operator-implementation-algorithm-and-time-complexity
I am thinking of how the in operator implement, for instance >>> s1 = 'abcdef' >>> s2 = 'bcd' >>> s2 in s1 True In CPython, which algorithm is used to implement the str...
09:35:07 ДП
User 60331718
User 160900344
https://stackoverflow.com/questions/18139660/python-string-in-operator-implementation-algorithm-and-time-complexity
stackoverflow.com/questions/18139660/python-string-in-operator-implementation-algorithm-and-time-complexity
I am thinking of how the in operator implement, for instance >>> s1 = 'abcdef' >>> s2 = 'bcd' >>> s2 in s1 True In CPython, which algorithm is used to implement the str...
причем тут строчки?
09:35:33 ДП
User 60331718
мы говорим про генератор, а не про оператор in
09:35:37 ДП
User 160900344
User 60331718
причем тут строчки?
притом что разницы нет по чему итерироваться метод contains определил и все
09:37:45 ДП
User 160900344
User 60331718
мы говорим про генератор, а не про оператор in
нет, мы говорим про in как раз тк i in range
09:40:04 ДП
User 60331718
User 160900344
притом что разницы нет по чему итерироваться метод contains определил и все
так, давай еще раз
09:40:11 ДП
User 60331718
прям по действиям
09:40:26 ДП
User 60331718
когда на вход подается число 91
09:40:33 ДП
User 160900344
$ time python3.7 -c "5 in range(1,1000000000000000000000000000000000000000000000)"

real  0m0,033s
user  0m0,020s
sys  0m0,016s
$ time python3.7 -c "10000000 in range(1,1000000000000000000000000000000000000000000000)"

real  0m0,032s
user  0m0,024s
sys  0m0,004s
$ time python3.7 -c "1000000000 in range(1,1000000000000000000000000000000000000000000000)"

real  0m0,032s
user  0m0,028s
sys  0m0,004s
ну вот если время замерить
09:40:34 ДП
User 200200555
User 60331718
я подаю на вход i = 80, что дальше?
Я специально нашел сурс 

В общем никто ничего не сравнивает по 60 раз, сравнивается лишь 4 раза с крайними значениями переданными в range вне зависимости от того какие числа ты передал в range

Сложность этого сравнения всегда O(1)
github.com/python/cpython/blob/master/Objects/rangeobject.c
The Python programming language. Contribute to python/cpython development by creating an account on GitHub.
09:40:34 ДП
User 60331718
и диапазон для сравнения 19-79
09:41:29 ДП
User 60331718
User 200200555
Я специально нашел сурс 

В общем никто ничего не сравнивает по 60 раз, сравнивается лишь 4 раза с крайними значениями переданными в range вне зависимости от того какие числа ты передал в range

Сложность этого сравнения всегда O(1)
github.com/python/cpython/blob/master/Objects/rangeobject.c
The Python programming language. Contribute to python/cpython development by creating an account on GitHub.
о, вот это отлично
09:41:58 ДП
User 60331718
все, признаю, что был не прав
09:42:55 ДП
User 160900344
если бы range список генерировал, то да, это было бы глупо
ну и да, лучше сравнить числа и ничего не генерировать
09:45:16 ДП
User 200200555
User 160900344
если бы range список генерировал, то да, это было бы глупо
ну и да, лучше сравнить числа и ничего не генерировать
Тоже верно, это примерно в 10 раз быстрее. Хотя там настолько мизерные тайминги что можно забить и писать красивее
10:12:50 ДП
User 525479921
Все привет! Учусь разбивать JS на модули по ES6, вроде получается, но когда дело дошло до подключения Slick слайдера начали появляться предупреждения (WARNING in ./lib/slick.js  
Module Warning (from D:/Project/jetro/node_modules/eslint-loader/index.js):  
  src\js\lib\slick.js:3:3  
  ‼  3:3  $ is not defined.  no-undef) Хотя сам slick слайдер работает!?
10:12:59 ДП
User 525479921
код для Slick 
function initSlider() { 
 
  $('.slider').slick({ 
    arrows: true, 
    nextArrow: '<span class="arrow-next"></span>', 
    prevArrow: '<span class="arrow-prev"></span>', 
    fade: true 
  }); 
}
10:16:12 ДП
User 317251595
а можно поставить в селектор queryselectorall регулярное выражение с цифрами?
10:16:38 ДП
User 317251595
и напишите плз как это будет выглядеть
10:17:41 ДП
User 525479921
User 317251595
и напишите плз как это будет выглядеть
что именно?
10:17:56 ДП
User 525479921
модуль?
10:18:34 ДП
User 317251595
User 525479921
что именно?
мне надо например сделать сделатэтот селектор на id1-10, как будет выглядеть регулярка для него?
10:23:15 ДП
User 525479921
User 317251595
мне надо например сделать сделатэтот селектор на id1-10, как будет выглядеть регулярка для него?
Если я правильо понял, то у меня сейчас так 
import 'slick-carousel'; 
import initSlider from './lib/slick.js'; 
initSlider();
10:24:01 ДП
User 317251595
User 525479921
Если я правильо понял, то у меня сейчас так 
import 'slick-carousel'; 
import initSlider from './lib/slick.js'; 
initSlider();
нет ты неправильно понял
10:58:22 ДП
User 201036437
User 317251595
а можно поставить в селектор queryselectorall регулярное выражение с цифрами?
Нельзя
10:59:01 ДП
User 201036437
Как id выглядят?
11:00:18 ДП
User 140245708
Привет.
Как можно получить из:
x = ["[640, 480], [800,600]"];
вот это:
x = [[640, 480], [800,600]];
Пробовал JSON.parse и eval(), не получается.
11:03:08 ДП
User 201036437
User 140245708
Привет.
Как можно получить из:
x = ["[640, 480], [800,600]"];
вот это:
x = [[640, 480], [800,600]];
Пробовал JSON.parse и eval(), не получается.
JSON.parse(`[${arr[0]}]`)
11:03:39 ДП
User 201036437
Ну или без литералов

JSON.parse("[" + arr[0] + "]")
11:04:47 ДП
User 201036437
Но, типа, если у тебя вообще встала такая задача - то где-то что-то сделано явно не так
11:13:42 ДП
User 78740762
User 140245708
Привет.
Как можно получить из:
x = ["[640, 480], [800,600]"];
вот это:
x = [[640, 480], [800,600]];
Пробовал JSON.parse и eval(), не получается.
парсим универсально x.map(_ => JSON.parse(`[${_}]`))
11:36:58 ДП
User 346992724
js ведь не может взаимодейстовать с файлами пользователя, только node js?
11:42:09 ДП
User 78740762
User 346992724
js ведь не может взаимодейстовать с файлами пользователя, только node js?
смотря что значит "взаимодействовать"
12:04:59 ПП
User 201036437
User 346992724
js ведь не может взаимодейстовать с файлами пользователя, только node js?
Может, в ограниченых пределах
01:21:28 ПП
User 359139376
как сделать поиск по ключам словаря которые начинаются с например 'test1'
01:22:11 ПП
User 359139376
регулярками я как понимаю, можно сделать как то не проходя весь словарь вручную?
01:41:51 ПП
User 215655868
User 359139376
регулярками я как понимаю, можно сделать как то не проходя весь словарь вручную?
нельзя, а что, так сильно важна оптимизация? сколько у тебя ключей?
01:51:51 ПП
User 402386678
Привет всем, не могу разобобраться с работой объекта в js
01:51:53 ПП
User 402386678
const settings = {
theme_name: 'theme',
input: {
    styles: [
        this.theme_name + '/dev/styles/main.scss',
        this.theme_name + '/lib/styles/**/*.scss'
    ],
...
01:52:23 ПП
User 402386678
Почему this.theme_name - это undefined?
01:52:35 ПП
User 201036437
styles: [
        this.theme_name + '/dev/styles/main.scss',
        this.theme_name + '/lib/styles/**/*.scss'
    ],
01:52:38 ПП
User 201036437
Так не заработает
01:52:45 ПП
User 201036437
this в этот момент не определён
01:52:48 ПП
User 155513348
сделай метод
01:53:13 ПП
User 155513348
styles() {
    return [
   ]
}
01:53:48 ПП
User 266535291
User 402386678
const settings = {
theme_name: 'theme',
input: {
    styles: [
        this.theme_name + '/dev/styles/main.scss',
        this.theme_name + '/lib/styles/**/*.scss'
    ],
...
делай через конструктор Es6
01:54:53 ПП
User 402386678
Метод попобую, а про конструктор es6 можно поподробней? Хотябы где почитать
01:55:10 ПП
User 266535291
User 402386678
Метод попобую, а про конструктор es6 можно поподробней? Хотябы где почитать
ща, я пишу
01:55:52 ПП
User 201036437
User 402386678
Метод попобую, а про конструктор es6 можно поподробней? Хотябы где почитать
class MyType{
   constructor(args){
     this.some = 1;
     this.someElse = 2;
   }
}
const type = new MyType(args)
01:56:06 ПП
User 266535291
class Settings {
 constructor(theme_name) {
  this.theme_name = theme_name;
  this.input = this.getStyles();
 }

 getStyles() {
  return [
          this.theme_name + '/dev/styles/main.scss',
          this.theme_name + '/lib/styles/**/*.scss'
  ];
 }

}
01:56:11 ПП
User 266535291
потом вызываешь его
01:56:26 ПП
User 266535291
const settings = new Settings('theme');
01:56:40 ПП
User 266535291
ща затещу даже
01:57:12 ПП
01:57:13 ПП
User 266535291
работает
01:57:17 ПП
User 266535291
на прочие логи не обращай внимания
01:57:31 ПП
User 101936383
Как подключить жквери импортом ес6? Нужно ли в самой библиотеке прописывать экспорт? Мне это все потом вебпаком собрать нужно будет.
01:58:07 ПП
User 266535291
User 101936383
Как подключить жквери импортом ес6? Нужно ли в самой библиотеке прописывать экспорт? Мне это все потом вебпаком собрать нужно будет.
jquery + react ? ((:
01:58:27 ПП
User 201036437
User 101936383
Как подключить жквери импортом ес6? Нужно ли в самой библиотеке прописывать экспорт? Мне это все потом вебпаком собрать нужно будет.
import $ from 'jquery'
01:58:34 ПП
User 101936383
Нет, просто жквери
01:58:42 ПП
User 201036437
import $ from 'jquery'
window.$ = $;
01:58:43 ПП
User 266535291
import * as $ from 'jquery'
01:58:45 ПП
User 266535291
по идее
01:58:51 ПП
01:58:54 ПП
User 402386678
Спасибо
01:58:58 ПП
User 266535291
не за что
01:59:11 ПП
User 266535291
User 266535291
не за что
почитай про замыкания, области видимости
01:59:15 ПП
User 101936383
И по такому принципу все сторонние библиотеки, да?
01:59:15 ПП
User 266535291
learn.javascript.ru
02:02:07 ПП
User 155513348
https://jsfiddle.net/64hpj59z/8/
jsfiddle.net/64hpj59z/8
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
02:02:27 ПП
User 155513348
можно так получить, но чтобы обращаться по this, тебе нужно писать метод объекта
02:02:51 ПП
User 155513348
либо ты можешь получить по названию объекта
02:03:20 ПП
User 201036437
User 101936383
И по такому принципу все сторонние библиотеки, да?
Импортируешь то, что экспортирует либа.
02:03:25 ПП
User 155513348
https://jsfiddle.net/64hpj59z/10/
jsfiddle.net/64hpj59z/10
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
02:05:37 ПП
User 201036437
Есть export default something, тогда это дефолт-экспорт, и импортировать можно в свободной форме

import whatTheHellYouWant from 'library'

Если экспорт именованый export {something, somethingElse}, то при импорте ты либо импортируешь явно по имени, и в твоей области видимости оно под этим именем и будет, либо используешь as для присвоения под своим именем переменной

import {something, somethingElse} from 'library'
или
import {something as myNameISaid, somethingElse as shit} from 'library'
04:53:40 ПП
User 222210132
Ребят, кто-нибудь знает чатик с дизайнерами?
05:01:16 ПП
User 314593415
Привет. Народ, помогите понять проблему 
http://prntscr.com/kcvru4
prnt.sc/kcvru4
Captured with Lightshot
05:02:13 ПП
User 279233223
Я вот дико извиняюсь
05:02:17 ПП
User 279233223
А ты вообще гуглил ее?
05:07:21 ПП
User 104477
User 314593415
Привет. Народ, помогите понять проблему 
http://prntscr.com/kcvru4
prnt.sc/kcvru4
Captured with Lightshot
Точка с запятой лишняя
05:08:07 ПП
User 314593415
Я вставил фрейм , который мне нужен и из за него ошибка. Ошибка только в Хроме. Что сделать нужно, чтобы остался фрейм и при этом консолька хрома не ругалась не пойму
05:13:20 ПП
User 104477
User 314593415
Я вставил фрейм , который мне нужен и из за него ошибка. Ошибка только в Хроме. Что сделать нужно, чтобы остался фрейм и при этом консолька хрома не ругалась не пойму
Пойти в настройки сервера, с которого раздается страница в фрейме и убрать там DENY
05:13:23 ПП
User 104477
Иначе никак
05:13:48 ПП
User 104477
Но вообще тебе ничего делать не надо
05:13:58 ПП
User 104477
У них защита от встраивания кривая))0
05:22:44 ПП
User 314593415
О, спасибо. Сейчас пороюсь
06:08:48 ПП
User 314593415
Нашел в аппаче Header always set X-Frame-Options DENY; удалил , прошло. Но не знаю что оно давало ))
07:32:51 ПП
User 542430919
подскажите пожалуйста что значит {...item,name}
07:33:09 ПП
User 542430919
const editName = (oldName, name, arr) =>
arr.map(item => (item.name === oldName) ?
({...item,name}) :
item
)
07:33:34 ПП
User 542430919
я понимаю что делает эта функция но не могу понять как это расшифровуется
07:43:15 ПП
User 284294073
User 542430919
подскажите пожалуйста что значит {...item,name}
это спред - оператор. возвращает объект.
07:43:35 ПП
User 4052277
User 542430919
я понимаю что делает эта функция но не могу понять как это расшифровуется
https://learn.javascript.ru/destructuring
learn.javascript.ru/destructuring
Деструктуризация (destructuring assignment) – это особый синтаксис присваивания, при котором можно присвоить массив или объект сразу нескольким переменным, разбив его на части.
07:53:33 ПП
User 284294073
User 542430919
я понимаю что делает эта функция но не могу понять как это расшифровуется
что значит "расшифровуется"?
в твоём примере берутся все перечисляемые свойства из объекта item, и свойство переменной name, и копируются в новый объект (arr.map) в виде пар ключ-значение.
07:55:45 ПП
User 284294073
это при item.name === oldName
07:56:40 ПП
User 284294073
const obj1 = {
  a: 1,
  b: 2
}

const c = 3;

const obj2 = {...obj1, c};

console.log(obj2)
как то так
09:33:26 ПП
User 644133943
зачем такой код не работает
var person = {
    firstName: "Arthur",
    lastName : "Gevorgian",
    
    fullName : function() {
        return this.firstName + " " + this.lastName;
    }
};

alert(person.fullName)
09:46:33 ПП
09:46:40 ПП
User 279233223
fullName()
09:52:50 ПП
User 499582901
Ыыыыыыыы
10:00:21 ПП
User 215655868
get fullName
10:07:49 ПП
User 380460973
Всем привет. 
Есть у меня масив с элементами. 
const _items = document.querySelectorAll('.class');
Как правильно прописать, что бы  я мог обращаться ко всем и к каждому по отдельности айтему. 
с forEach() и every() не получается так,  что бы использовать одно из них. 
А масив в масиве мне кажется не то)
10:13:19 ПП
User 279233223
Ничерта не понял
10:13:35 ПП
User 279233223
_items.forEach(item => {
     item....
     items....
})
?
10:17:57 ПП
User 215655868
User 380460973
Всем привет. 
Есть у меня масив с элементами. 
const _items = document.querySelectorAll('.class');
Как правильно прописать, что бы  я мог обращаться ко всем и к каждому по отдельности айтему. 
с forEach() и every() не получается так,  что бы использовать одно из них. 
А масив в масиве мне кажется не то)
Что? Не понятно. По индексами можно обращаться к элементам
10:22:22 ПП
User 380460973
понял
10:22:24 ПП
User 380460973
спасибо!
10:39:45 ПП
User 171372606
Вопрос по Node.js, не знаете, как после метода чтения вытащить из него данные через promise.All() ?
10:44:01 ПП
User 266535291
User 171372606
Вопрос по Node.js, не знаете, как после метода чтения вытащить из него данные через promise.All() ?
конкретно кейс какой ?
10:44:15 ПП
User 171372606
Конкретный кейс. 

Вычитываю файлы, в них хранятся:

[ {name: "Sergei"}]
[ {name: "Aleksei"}]

Мне нужно собрать данные из файлов в другой и получить на выходе структуру в виде массива объектов:

[ 
   {name: "Sergei"},
   {name: "Aleksei"}
]

Как это можно сделать? (Именно такую структуру).
10:44:43 ПП
User 266535291
да любым перебором
тем же  map
10:45:23 ПП
User 266535291
или что за проблема
10:46:20 ПП
User 171372606
Согласен, тем же map. Только вот в моём кейсе такая история, я тут итерируюсь по массиву URL и записываю содержимое каждого файла в новый:

file.forEach(item => {
        fs.createReadStream(item).pipe(write);
})
10:46:52 ПП
User 279233223
Ты можешь ручками на каждой итерации закидывать
10:46:56 ПП
User 279233223
Можешь сделать names.map(name => name)
10:46:59 ПП
User 279233223
Что не получается?
10:47:04 ПП
User 266535291
User 171372606
Согласен, тем же map. Только вот в моём кейсе такая история, я тут итерируюсь по массиву URL и записываю содержимое каждого файла в новый:

file.forEach(item => {
        fs.createReadStream(item).pipe(write);
})
ну закидывай все в один массив, ну
10:47:09 ПП
User 266535291
вон вверху написали
10:47:12 ПП
User 266535291
тут не нода даже
10:47:14 ПП
User 266535291
а обычный js
10:47:23 ПП
User 266535291
в смысле по факту вопрос не по ноде
10:49:17 ПП
User 171372606
Нет, не по ноде. А что закидывать в массив? В этом вопрос. Мне нужно каждый айтем вычитать, а как мне получить содержимое этого вычитаного файла?
10:49:27 ПП
User 266535291
User 171372606
Нет, не по ноде. А что закидывать в массив? В этом вопрос. Мне нужно каждый айтем вычитать, а как мне получить содержимое этого вычитаного файла?
через fs
10:49:32 ПП
User 279233223
User 171372606
Нет, не по ноде. А что закидывать в массив? В этом вопрос. Мне нужно каждый айтем вычитать, а как мне получить содержимое этого вычитаного файла?
> fs.createReadStream(item).pipe(write)
Что тебе это вернет?
10:49:36 ПП
10:49:39 ПП
User 266535291
если я не ошибаюсь
10:49:55 ПП
User 171372606
User 279233223
> fs.createReadStream(item).pipe(write)
Что тебе это вернет?
Принятие.
10:49:58 ПП
User 266535291
User 171372606
Принятие.
https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback
10:50:01 ПП
User 279233223
User 171372606
Принятие.
Что?
10:50:23 ПП
User 171372606
User 279233223
> fs.createReadStream(item).pipe(write)
Что тебе это вернет?
fs.createReadStream(item) - возвращает какой-то заенкоженный объект.
10:50:28 ПП
User 266535291
User 171372606
fs.createReadStream(item) - возвращает какой-то заенкоженный объект.
https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback
10:50:31 ПП
User 279233223
Тебе этот объект не нужен?
10:50:47 ПП
User 266535291
User 171372606
fs.createReadStream(item) - возвращает какой-то заенкоженный объект.
кодировку указать мб ?
10:51:21 ПП
User 171372606
User 279233223
Тебе этот объект не нужен?
Но после того, как я вызываю callback write, данные записываются в мой файл.
10:51:33 ПП
User 279233223
Окей, смотри
10:51:37 ПП
User 279233223
У тебя до записи уже есть данные
10:51:42 ПП
User 279233223
Почему бы не класть в массив их?
10:51:53 ПП
User 279233223
и > createReadStream возвращает ReadStream
10:52:02 ПП
User 279233223
Подозреваю, что ты можешь прочесть данные с этого файла без особых проблем
10:52:13 ПП
User 171372606
User 279233223
Почему бы не класть в массив их?
Вот в этом то и вопрос. Как мне эти данные из ReadStream достать?
10:52:20 ПП
User 279233223
https://nodejs.org/docs/latest-v9.x/api/fs.html#fs_class_fs_readstream
10:52:30 ПП
User 279233223
User 171372606
Вот в этом то и вопрос. Как мне эти данные из ReadStream достать?
У тебя уже есть данные, ты их записываешь в файл
10:52:36 ПП
User 279233223
Зачем тебе читать то, что ты записал?
10:52:43 ПП
User 279233223
User 171372606
Согласен, тем же map. Только вот в моём кейсе такая история, я тут итерируюсь по массиву URL и записываю содержимое каждого файла в новый:

file.forEach(item => {
        fs.createReadStream(item).pipe(write);
})
> item
10:52:47 ПП
User 266535291
ну да, странно очень
10:52:50 ПП
User 266535291
логика не понятна
10:52:52 ПП
User 266535291
чего ты хочеш
10:53:08 ПП
User 171372606
User 279233223
У тебя уже есть данные, ты их записываешь в файл
Понимаю. Только вот когда я консольложу fs.CreateReadStream(item) - тут нихера не мои данные.
10:53:17 ПП
10:53:25 ПП
User 279233223
Оно тебе в консоль выведет то, что возвращает CreateReadStream
10:53:30 ПП
User 171372606
А там объект ReadStream.
10:53:38 ПП
User 279233223
Странно, да?
10:53:38 ПП
User 125623304
Вопрос в том, как понять, когда все файлы прочитаются и данные сложатся в массив?
10:53:41 ПП
User 279233223
Ты записываешь I T E M
10:53:52 ПП
User 279233223
User 125623304
Вопрос в том, как понять, когда все файлы прочитаются и данные сложатся в массив?
Что?
10:54:04 ПП
User 171372606
User 125623304
Вопрос в том, как понять, когда все файлы прочитаются и данные сложатся в массив?
Не, не в этом.
10:54:09 ПП
User 279233223
Смотри
10:54:10 ПП
User 125623304
А в чём вопрос?
10:54:12 ПП
User 279233223
Объясняю еще раз
10:54:21 ПП
User 279233223
Ты записываешь данные которые в переменной
> item
10:54:24 ПП
User 279233223
Ее и пихай в массив
10:54:30 ПП
User 279233223
Зачем тебе читать то, что ты записываешь?
10:54:39 ПП
User 279233223
У него там какой-то свой крутой формат и реализация займет N (> 10) строчек кода?
10:55:00 ПП
User 279233223
User 125623304
А в чём вопрос?
Его ведь уже озвучили :)
10:55:10 ПП
User 279233223
User 171372606
Конкретный кейс. 

Вычитываю файлы, в них хранятся:

[ {name: "Sergei"}]
[ {name: "Aleksei"}]

Мне нужно собрать данные из файлов в другой и получить на выходе структуру в виде массива объектов:

[ 
   {name: "Sergei"},
   {name: "Aleksei"}
]

Как это можно сделать? (Именно такую структуру).
И там чутка ниже
10:56:31 ПП
User 266535291
я до сих пор
10:56:32 ПП
User 266535291
неф понял
10:56:36 ПП
User 266535291
чево он хочет
10:56:38 ПП
User 266535291
сделатб
10:56:42 ПП
User 279233223
Держи нас в курсе)
И пиши дальше в одну строчку
10:57:31 ПП
User 125623304
User 266535291
чево он хочет
Прочитать файл, сложить данные оттуда в массив и записать этот массив в другой файл. Вроде этого
10:57:54 ПП
User 279233223
@andrey_tsapko ты понял или нет?
10:59:10 ПП
User 279233223
User 171372606
Согласен, тем же map. Только вот в моём кейсе такая история, я тут итерируюсь по массиву URL и записываю содержимое каждого файла в новый:

file.forEach(item => {
        fs.createReadStream(item).pipe(write);
})
file.forEach(item => {
  fs.createReadStream(item).pipe(write);
  someArray.push(item)
})
11:00:06 ПП
User 171372606
User 279233223
file.forEach(item => {
  fs.createReadStream(item).pipe(write);
  someArray.push(item)
})
Чувак, спасибо, это я понимаю. А ну да, зачем мне это повторно читать, блять.
11:00:10 ПП
User 171372606
Понял.
11:00:27 ПП
User 279233223
User 171372606
Чувак, спасибо, это я понимаю. А ну да, зачем мне это повторно читать, блять.
Аке
11:00:29 ПП
User 171372606
Я почему-то вбил себе в голову что мне это нужно каждый раз читать. Достаточно же один раз прочитать, верно?
11:00:32 ПП
User 279233223
Тогда дальше сам, раз понимать
11:06:36 ПП
User 171372606
User 279233223
Тогда дальше сам, раз понимать
Шаришь ещё момент, у меня в item - url хранится. А не данные.
11:07:24 ПП
User 279233223
User 171372606
Шаришь ещё момент, у меня в item - url хранится. А не данные.
Ты записываешь урл в файл?)
11:07:35 ПП
User 171372606
User 279233223
Ты записываешь урл в файл?)
Неа.
11:07:37 ПП
User 279233223
Или че, fs объект ноды сам тебе делает запрос?
11:07:46 ПП
User 171372606
Я записываю в файл обычный .JSON
11:07:54 ПП
User 279233223
А где ты его берешь?
11:08:19 ПП
User 279233223
User 171372606
Шаришь ещё момент, у меня в item - url хранится. А не данные.
И кстати, забавное название
11:08:25 ПП
User 279233223
file - urls
11:08:41 ПП
User 171372606
User 279233223
А где ты его берешь?
Он у меня в файловой системе. В подпапках лежит. У меня рекурсивная функция ходит и находит все файлы.
11:08:48 ПП
User 279233223
User 171372606
Он у меня в файловой системе. В подпапках лежит. У меня рекурсивная функция ходит и находит все файлы.
Вауу
11:09:14 ПП
User 279233223
Т.е, у тебя все таки есть данные в переменной/функции которая их вернет?
11:09:22 ПП
User 279233223
И эти данные ты потом записываешь в файлик
11:09:53 ПП
User 171372606
User 279233223
И эти данные ты потом записываешь в файлик
Безусловно.
11:09:59 ПП
11:10:09 ПП
User 279233223
Все, думай дальше сам
Это супер легкая задачка
11:10:27 ПП
User 231599
Которую я в чате ноды уже разрешил
11:12:16 ПП
User 171372606
User 231599
Которую я в чате ноды уже разрешил
Видел, спасибо. Я иначе хочу попробовать решить. Если не получится, заюзаю твоё решение.
11:12:32 ПП
User 231599
User 171372606
Видел, спасибо. Я иначе хочу попробовать решить. Если не получится, заюзаю твоё решение.
Иначе лол
11:13:02 ПП
User 171372606
User 231599
Иначе лол
Ты думаешь по-другому нельзя?
11:13:18 ПП
User 231599
User 171372606
Ты думаешь по-другому нельзя?
Можно, но смысл?)
11:13:19 ПП
User 266535291
User 171372606
Ты думаешь по-другому нельзя?
костылями можно все
11:13:28 ПП
User 231599
Не отвечай, это риторический
11:16:46 ПП
User 279233223
User 171372606
Ты думаешь по-другому нельзя?
Окей, чем тебя не устраивает ответ?
11:27:50 ПП
User 171372606
User 279233223
Окей, чем тебя не устраивает ответ?
Мне не совсем подходит это решение, т.к. я использую createReadStream + pipe в который я коллбек передаю.