@JSlang

Страница 538 из 2237
Anton
10.01.2017
09:46:36
Вопрос по replace. Мне нужно понять является ли объект объектом или массивом. Делаю Object.prototype.toString.call(photos[i]), на выходе получаю [object Array] или [object Object] Вопрос: как через 1 replace оставить только Array или Object? Пробовал Object.prototype.toString.call( photos[i] ) .replace(/\[object |\]/, ""), но на выходе тогда получаю Array] или Object] (с пробелом в начале). Как лучше избавиться от квадратных скобок, пробелов и object в начале в таком случае?

Anton
10.01.2017
09:48:34
Спасибо

Google
Anton
10.01.2017
09:53:23
Как вариант решения задачи да, но из спортивного интереса хотелось понять как множественная замена replace делается в подобных случаях, когда у тебя пробелы и спецсимволы

Andrey
10.01.2017
09:57:09
function - Функция, вызываемая для создания новой подстроки (помещаемой вместо подстроки из первого параметра). Аргументы, передаваемые функции, описаны ниже в разделе

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/replace

регулярка ищет матчи, а ф-ция их обрабатывает )

но, в твоем случае все матчи, должны быть заменены на ''

Dreamerinnoise
10.01.2017
09:59:10
Спасибо
только на окружение смотри, этот метод не везде есть

Anton
10.01.2017
10:00:59
А вот ещё вопрос. С сервера мне PHP отдаёт object { 2016: { blabla: bla }, 2015: { bla: blabla } } А браузеры перестраивают это и в веб-инспекторе в ответе с сервера выдаётся object { 2015: { bla: blabla }, 2016: { blabla: bla } } То есть браузер делает автоматически сортировку объекта, хотя кто его вообще просил это делать? Эта проблема как-то решаема?

Константин
10.01.2017
10:01:40
в объектах свойства не сортируемые

Anton
10.01.2017
10:01:54
но порядок нарушается

Nikolay
10.01.2017
10:02:10
год по возрастанию поставило

Google
Константин
10.01.2017
10:02:27
чтобы был порядок, структура должна быть сортируемая

как бы тупо это не звучало

Roman
10.01.2017
10:03:58
Так или иначе асинхронное исполнение кода - одно из тех великих штук что были когда-либо изобретены
Вообще, все в мире асинхронно. Синхронное - это асинк + ожидание завершения

Anton
10.01.2017
10:04:09
"это только девтулз тебе сортирует" хз, вывел в консоли ответ — тоже отсортированно ангуляр тоже выводит отсортированно ладно, буду пересобирать у себя

Anton
10.01.2017
10:05:40
тогда буду писать багрепорт в chrome и ff, в остальных браузерах не смотрел ещё

Andrey
10.01.2017
10:06:35
тогда буду писать багрепорт в chrome и ff, в остальных браузерах не смотрел ещё
завернут, это отдано на откуп реализаторам конкретного движка JS, так что, то что где-то сортировано, а где-то несортировано не является ошибкой

т.е. чтобы быть уверенным на 100% что у тебя там все в том порядке, как ты хочешь - меняй струтуру хранения или алгоритм обработки

Vladimir
10.01.2017
10:09:11
@ZeroBias рассказывал что спеку обновили

Andrey
10.01.2017
10:10:06
@ZeroBias рассказывал что спеку обновили
и что все ее имплементировали?

Vladimir
10.01.2017
10:25:50
Вот тут подробно написано на эту тему http://learn.javascript.ru/object-for-in#в-каком-порядке-перебираются-свойства

Oleg
10.01.2017
10:27:47
Вообще тема с объектами и числовыми ключами известная

Оное может порядок менять как захочется

Но это и нормально

Ведь по спеке ключи то в объектах вообще не гарантируют порядок никак

Хочется порядка - нужно юзать массивы

Константин
10.01.2017
10:34:36
либо перед рендером сортируешь ключи и по сортированным ключам доступ через ключ

Konstantin
10.01.2017
10:39:29
ключи вообще не сортированы никак

Google
Konstantin
10.01.2017
10:40:01
в разных браузерах может по-разному сортироваться

Alexandr
10.01.2017
11:05:41
в хроме сортирует числовые ключи, в лисе же нет

Dima
10.01.2017
11:08:39
А оно всё-равно кидает в очередь
setTimeout 0 - помещает футкцию в task queue, a из task queue функция попадает в стек только когда он пуст. (или не только когда он пуст?) дак каким же образом проиходит предотварщение подвисания в дед лупе?

Да и вообще я как-то не ухватываею "от чего длолжно виснуть?"

ну выполняется функция, а если в task queue ничего не поступает то от чего должно быть подвисание?

Константин
10.01.2017
11:10:36
можно ссылку на видео?

Dima
10.01.2017
11:11:13
можно ссылку на видео?
https://youtu.be/8aGhZQkoFbQ

Jamal
10.01.2017
11:39:11
Человеки привет, не подскажете как на сообщество Vue выйти ?

Vladimir
10.01.2017
11:39:26
https://github.com/goq/telegram-list

Дмитрий
10.01.2017
11:55:37
Хотя ей конечно можно не следовать))

Vladimir
10.01.2017
11:57:56
А как должно быть по спеке? Можно ссылку для ленивых?)

Дмитрий
10.01.2017
12:01:03
Сначала идут цифровые ключи по возрастанию, потом остальные строковые в порядке добавления, потом символы в порядке добавления

Dima
10.01.2017
12:11:59
Используя либо setTimeout с 0 миллисекунд ожидания, либо process.nextTick для ноды
по этому смысла в setTimeout c 0 я как-то не ухватываю на данный момент: http://latentflip.com/loupe/?code=Y29uc29sZS5sb2coIkludGVyZXN0aW5nIHRoaW5nLiIpCgpiID0gZnVuY3Rpb24oKXsKICAgIGZvciAoaT0wOyBpPDUwOyBpKyspIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiYi1pbi1iIil9LDApOwp9CgphID0gZnVuY3Rpb24oKXsKICAgIGZvcihpPTA7IGk8MzsgaSsrKSBiKCkKfQoKYSgp!!!PGJ1dHRvbj5DbGljayBtZSE8L2J1dHRvbj4%3D

Oleg
10.01.2017
12:24:29
В этом коде сначала будет создано 100500 функций, а только потом они исполнены

Или о чем у нас разговор?

Но похоже я понял о чем тут

В коде что на картинке просто создается 100500 функций, падающих в очередь, которые потом исполняются

Google
Oleg
10.01.2017
12:27:33
Если их будет бесконечно - они и будут бесконечно создаваться

Viktor
10.01.2017
12:28:19
ох эта чудесная особенность переборов)

Oleg
10.01.2017
12:28:24
Я имел в виду что можно оптимизировать бесконечный цикл если каждую следующую итерацию запускать через сеттаймаут

Admin
ERROR: S client not available

Viktor
10.01.2017
12:28:43
а что за инструмент на картинке?

Oleg
10.01.2017
12:28:55
Тогда цикл будет и бесконечным, но и не забирать всё свободное время вычислений

Dima
10.01.2017
12:28:59
В этом коде сначала будет создано 100500 функций, а только потом они исполнены
Разговор у нас 1) почему зависает бесконечный цикл 2) почему у нас Set time out 0 ему зависнуть не даст

Oleg
10.01.2017
12:29:22
?

Dima
10.01.2017
12:29:30
Тогда цикл будет и бесконечным, но и не забирать всё свободное время вычислений
только вот почему беспонечный цикл зависает? (с тем как его развиснуть уже ясно)

Oleg
10.01.2017
12:29:50
Потому что он не дает исполняться ничему кроме своего кода

Dima
10.01.2017
12:30:21
Потому что он не дает исполняться ничему кроме своего кода
ясно. блокирует выполнения задачь из task queue. все разобрался.

Oleg
10.01.2017
12:30:28
while (true) {console.log(1);} console.log(2); // 2 никогда не будет вызвано

Dima
10.01.2017
12:31:08
while (true) {console.log(1);} console.log(2); // 2 никогда не будет вызвано
это понятно. но это же архитекрура тут нет подвисания

Oleg
10.01.2017
12:31:11
Если же мы тело цикла положим в функцию и будем через сеттаймаут вызывать - у нас образуется время свободное на исполнение того что нужно

Oleg
10.01.2017
12:31:35
И при этом мы не потеряем бесконечность нашего бесконечного цикла

Vladimir
10.01.2017
12:31:47
Тут нет проблемы с тем, что i объявляется без var?

Google
Dima
10.01.2017
12:32:12
Тут нет проблемы с тем, что i объявляется без var?
проблемма есть. Но она не влияет на пример

famed
10.01.2017
12:32:37
ребят, а никто не в курсе, можно ли чере intellij idea / webstorm подключится по ssh к серверу и редактировать файлы?

Vladimir
10.01.2017
12:33:21
проблемма есть. Но она не влияет на пример
В функции a цикл по идее выполнится один раз, а не 3, т к i объявляется в глобальном контексте

Dima
10.01.2017
12:34:00
В функции a цикл по идее выполнится один раз, а не 3, т к i объявляется в глобальном контексте
это не важно для примера, важно что пока работает цикл в функции Б. из task queue не берутся задачи в stack.

Dima
10.01.2017
12:36:01
Правильно, цикл же синхронный
что такое синхронный цикл, я первый раз слышу такое определение.

Oleg
10.01.2017
12:36:59
Пффф

О чем у нас тогда разговор....

По той ссылке прикольная штука конечно со стеком и прочим

Но не отражает действительности

Приведу пример - если написать в консоле хрома while (true) {console.log(1);} хром зависнет и будет бесконечно выводить 1 и не даст ничего больше ввести. Если вот что-то на вроде такого ввести - http://pastebin.com/y50wf4XY - оное будет также бесконечно выводить 1, но при этом можно будет ещё что-то в консоль ввести и оное будет работать. В любой момент времени.

То есть оно в фоне работает делая бесконечные вычисления, но дает тебе возможность вычислить что-то ещё

Dima
10.01.2017
12:42:25
Пффф
я понял как вы предлагаете избежать зависания: http://latentflip.com/loupe/?code=aSA9IDA7IGogPSAwOwoKaV9tYXggPSAxMDsgal9tYXggPTEwOwoKbG9vcDEgPSBmdW5jdGlvbigpewogICAgZm9yKHZhciBrPTA7ICBrPDIgOyBrKyssIGkrKyl7CiAgICAgICAgY29uc29sZS5sb2coaSkKICAgIH0KICAgIHNldFRpbWVvdXQobG9vcDEsIDApOwp9Cgpsb29wMiA9IGZ1bmN0aW9uKCApewogICAgZm9yKHZhciBrPTA7IGs8MjsgaysrLCBqKyspewogICAgICAgIGNvbnNvbGUubG9nKGopCiAgICB9CiAgICBzZXRUaW1lb3V0KGxvb3AyLCAwKQp9Cgpsb29wMSgpOyBsb29wMigpOw%3D%3D!!!PGJ1dHRvbj5DbGljayBtZSE8L2J1dHRvbj4%3D

Oleg
10.01.2017
12:43:35
Что-то уже похожее

Dima
10.01.2017
12:45:06
Что-то уже похожее
оно фактически позволяет работать выполнять задачи 2м циклам одновременно не перегружая очередь.

Страница 538 из 2237