Алексей
Нарушено уважительное отношение, вполне себе
Тогда всех надо а не селективно
Igor
Тогда всех надо а не селективно
Ну так зовите админов, когда нарушаются)
Андрей
Ну так зовите админов, когда нарушаются)
Сделайте меня админом и не надо будет звать)
Igor
Я удалил пост, который не соответствовал правилам, оскорбил тебя?
Андрей
Так без палева админку надо взять.
Leo
Обоснуй
это называется «превышение полномочий» - но в этот час ты тут рулишь, все в твоей власти)
Андрей
Авось прокатит.
Nikolay
Мда
Leo
Я удалил пост, который не соответствовал правилам, оскорбил тебя?
да, потому что ты попросил отредактировать и удалил, не последовательно, товарищь
Leo
но я предлагаю в личке, что бы не спамить народ
Yevhenii
зачем же
просто такая увереность в себе без толики сомнения, что ты не прав когда тебе весь чат это говорит
Yevhenii
как минимум 5
Андрей
весь чат - 3 человека?)
Ну, так пошло, что ядро чата составляет не так много людей.
Leo
офигенная выборка)
Leo
Ну, так пошло, что ядро чата составляет не так много людей.
тогда я начал сомневаться зачем запостил вакансию сюда, похоже остальные боты))
Nikolay
Тут вакансии ток обсирают
Андрей
тогда я начал сомневаться зачем запостил вакансию сюда, похоже остальные боты))
Ядро - это люди, которые здесь часто общаются. Остальные время от времени.
Nikolay
Лучше в javascript jobs по правилам запости
Leo
Тут вакансии ток обсирают
вот да, это и понятно и удивительно
Leo
Лучше в javascript jobs по правилам запости
по правилам не могу, мне не понятно сколько стоит, что я хочу) поэтому надо оценить сначала))
Nikolay
вот да, это и понятно и удивительно
Ничего удивительного, культура общения
Leo
Ничего удивительного, культура общения
ну удивительно как люди ведут себя в сообществе, а потом как они себя пытаются себя позиционировать на собеседованиях - как самые неконфликтные и лучшие сотрудники
Serhii
Nuxt от Vue или Next ?
Nikolay
Nuxt от Vue или Next ?
Тут скорее выбор вуе или реакт, что нра то и выбирай
Leo
Или защита.
сразу появился стартап по выдергиваюнию всех сообщений юзера из пабликов по никнейму/телефону и сабмита вместе с его резюме) давайте запилим?)
Nikolay
Или защита.
Лучшая защита это нападение?
Ru
Нужна помощь, никак не разберусь. Есть функция, в ее начале Некая коллекция col Потом цикл For.... s = col[i].getAttribute('id').split('_'); В полученном массиве 3 элемента. Для удобства я каждый элемент пишу в переменную. v1 = s[0]; v2 = s[1]; ... Двльше мне нужны эти переменные, которые должны на цикле обновляться, а они со старого цикла проскакивают. В месте где загвоздка поставил. console.log(s + v1 + v2); Показывает что, s в порядке, а v1 и v2 с прошлого цикла. Может ли так быть, что к моменту обращения к переменным v1 и v2 они еще не поменялись?
Sergey
Старый цикл это который?
Ru
Старый цикл это который?
Ну этот же цикл, прошлый круг
Sergey
А. Ясно, итерация. Хм... Т.е. полная конструкция как то так? For ... { ... s = col[i].getAttribute('id').split('_'); ... v1 = s[0]; v2 = s[1]; ... console.log(s + v1 + v2); }
Ru
Да
Ru
Именно так
Sergey
Мне не хватает фантазии предположить что может быть таково в ... что может все сломать, но по факту если код последовательный, то на опережение ничего работать не может, т.е. "еще не поменялись", либо поменялись но не так, либо поменялись не один раз, либо не поменялись вообще. Можно в лоб после каждого действия проверить console.log(s, v1, v2); соответствует ли ожиданиям
Ru
это как раз консоль лог из места где тупняк
Ru
первые 3 через запятую это массив, который s а потом это перменные v1 v2
Ru
мистика
Ru
весь свой макаронный код могу прислать, то еще удовольствие, но я стараюсь писать понятнее
Sergey
Я только за, глянуть)
Sergey
а 3 запятые, это по идее 4 элемента
Ru
там такого вида id=fid_18_name_val т.е. 4 - все правильно
Ru
function mergeFeatures(res){ //текущий фильтр в адресной строке loc = parse_request_uri(); features = res['features']; upd = res['updated']; //console.log(res); //перебираем циклом полученную коллекцию for (var i = 0; i < features.length; i++) { //раскладываем id в массив ['fid', 'id свойства', 'значение свойства' ] id_a = features[i].getAttribute('id').split('_'); id = id_a[1]; name = id_a[2]; option = id_a[3]; if(upd[id]['options']['filtered'] === false) { upd[id]['options']['filtered'] = upd[id]['options']['unfiltered']; } if(upd[id] !== undefined && upd[id]['options']['filtered'] && upd[id]['options']['filtered'][option] !== undefined ){ //если запрос был без фильтров - в ответе не будет filtered - поэтому используем unfiltered //меняем цифры в счетчике товаров if(o = upd[id]['options']['filtered'][option]['c'] !== undefined){ features[i].nextElementSibling.innerHTML = ' (' + upd[id]['options']['filtered'][option]['c'] + ')'; }else{ features[i].nextElementSibling.innerHTML = ''; } //делаем ссылку filter = {}; filter[name] = upd[id]['options']['filtered'][option]['t']; url = filter_chpu_url(filter); features[i].nextElementSibling.nextElementSibling.setAttribute('onchange', 'features_update("' + url + '")'); features[i].nextElementSibling.nextElementSibling.removeAttribute('disabled'); //ставим галочку, если выбран фильтр if(loc[name] !== undefined && loc[name][option] !== undefined){ features[i].nextElementSibling.nextElementSibling.checked = true; }else{ console.log(id_a + name + option); console.log(loc[name]); features[i].nextElementSibling.nextElementSibling.checked = false; } features[i].removeAttribute('style'); features[i].setAttribute('href', url ); replaceTag(features[i], 'a'); }else{ //текст в блоке со счетчиком features[i].nextElementSibling.innerHTML = ''; //ссылка в теге a features[i].removeAttribute('href'); //поле input features[i].nextElementSibling.nextElementSibling.removeAttribute('onchange'); features[i].nextElementSibling.nextElementSibling.setAttribute('disabled', 'true'); features[i].nextElementSibling.nextElementSibling.checked = false; features[i].setAttribute('style', 'color: #aaa'); replaceTag(features[i], 'span'); } } };
Sergey
Попробуй объявлять локальные переменные. var loc = parse_request_uri(); var features = res['features']; var upd = res['updated']; var var, id, name, option; и т.д. Я конечно не уверен что ошибка именно в этом но может быть. Все переменные которые не объявляются локально берутся из глобального объекта window , т.е. в твоей записи name = id_a[2] эквивалентно window.name = window.id_a[2] а window.name хоть и не должен, но возможно ведет себя неадекватно
Ru
спасибо, сейчас попробую.
Ru
ты смотри, ка! заработала как надо собака.
Ru
Еще раз, спасибо.
Sergey
Не за что, интересно было :) Я правда не понял почему window.name он не хотел менять. Вроде даже соседние окна за имя не конфликтуют.. Может только вложенные как то окна или браузер особый
Ru
за область видимости переменных отдельное спасибо.
Ru
Не за что, интересно было :) Я правда не понял почему window.name он не хотел менять. Вроде даже соседние окна за имя не конфликтуют.. Может только вложенные как то окна или браузер особый
косяк вылезал не всегда, видимо писать в window.name относительно долгая операция и к моменту, когда он там обновлял что-то уже место проскакивало.
Sergey
По идее синхронный код... Но всякое может быть со встроенными объектами)
Ru
А ты случайно не знаешь, как можно избавится от таких барикад if(upd[id] !== undefined && upd[id]['options']['filtered'] && upd[id]['options']['filtered'][option] !== undefined ){ задача в том, чтобы проверить имеется ли в объекте upd[id]['options']['filtered'][option] а приходится еще ставить 2 условия, потому что иначе ошибку вышибает: не могу мол залезть так далеко
Sergey
Обычно использую lodash Там значение upd[id]['options']['filtered'][option] можно достать как _.get(upd,'['+id+'].options.filtered['+option+']') под капотом те же проверки.
Sergey
Для конкретной задачи может и что-то оптимальнее есть, но мне пока хватало :)
Ru
3 дня сижу переписываю достаточно простые вещи с php. Куда ни плюнь везде что-то констролить приходится. элементарные вроде бы вещи типа сортировать объекта по ключам или сложить объект в строку через разделитель, а все нету стандартной функции. лодаш посмотрю обязательно, спасибо.
Sergey
Что-то я подзабыл. А в php объекты сортировались (в том числе по ключам)? Или они там по умолчанию отсоритованы так?
Ru
в лодаше кстати тоже не нашел такой функции, что можно было php implode или в join сделать
Sergey
join да, только с массивами
Ru
Что-то я подзабыл. А в php объекты сортировались (в том числе по ключам)? Или они там по умолчанию отсоритованы так?
изначально они там не сортируются, а пишутся в порядке добавления элементов в массив там можно по всякому ksort по ключам по возрастанию krsort по убыванию
Sergey
А.. точно) Так еще годик не попишу на PHP глядишь и забуду все :)
Ru
А.. точно) Так еще годик не попишу на PHP глядишь и забуду все :)
php.net очень хороший мануал, так что вспомнить недолго, Жаль по js ничего похожего не нашел, приходится просто тупо гуглить нужную инфу
Michael
Michael
И вообще, никогда не пользуюсь for циклами. Не представляю для чего они, вот только перестановки пришлось делать. Есть же each/forEach и в нативе и в лодаше и в jQ
Anonymous
Всем привет , Кто знает как запустить сервер js на убунте 16, инструмент node js
Yuriy
Думаю тебе сюда.
Rafael 🌵
Думаю тебе сюда.
Не сюда, а в гугл
Anonymous
я вот поставил на виртуалку Mint xcfe, а меня перейти на Линукс с 10-ки тянет все сильнее и сильнее. Что мне делать, Чебурашка у которого нет друзей (с) ДМБ Ребят, у кого МакБуки, вопрос. Они действительно настолько круты насколько же и стоят? Плюсы и разницу то я понимаю, но вот субьективное мнение бы услышать. С учетом что упор на бекенд.
Anatoly
да, макбуки прекрасны.
Anatoly
на линукс с 10 не уходи
Anatoly
если понадобится винда, будешь страдать, а вот наоборот ничуть