Sergey
объект, массив
blaccyee
Массив, да
Sergey
ну
Sergey
цикл особо не нужен
Sergey
можно через t.playlist = data.map(
Sergey
а вообще отправить бы тебя на курсы жс
Anonymous
помогите решить траблу подробности на кодепен https://codepen.io/Puryk/pen/OQGOaw
Дмитрий
Всем привет. Нашел такую функцию на javascript.ru/php/empty, но чот я невъезжаю. Она же не должна работать. Это типа аналог empty() в php:
function empty( mixed_var ) { // Determine whether a variable is empty
//
// + original by: Philippe Baumann
return ( mixed_var === "" || mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false || ( is_array(mixed_var) && mixed_var.length === 0 ) );
}
is_array - вообще не понятно откуда берется, знаю Array.isArray(), а is_array не знаю такой функции
Anonymous
Дмитрий
Anonymous
Вот это вообще не понятно зачем:
mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false,
когда можно просто
if (!mixed_var) return true;
одна проверка покрывает все 4 варианта
Андрей
Anonymous
Ладно if (!+mixed_var) return true;
Anonymous
но выглядит грязно
Anonymous
С другой стороны "0" это уже не empty
Андрей
Используй типизацию и не будет гемора.
Віталій
Anonymous
Вообще isEmpty("0") должен возвращать false как по мне
Дмитрий
А что плюс значит?
Anonymous
Приведение к number
Дмитрий
Точно, забыл
Anonymous
!+[1,2] => true
Да, это особые особенности js =) Повтоюсь if (!mixed_var) return true дальше остальные проверки. А вот empty("0") должен возвращать False а не true как в первом варианте
Віталій
согласен
Anonymous
Вот еще полезный трюк:
[NaN,,,,void 0, null, 0, '0', 1, 'foo', Infinity].filter(Boolean)
Андрей
Вот еще полезный трюк:
[NaN,,,,void 0, null, 0, '0', 1, 'foo', Infinity].filter(Boolean)
Это не трюк. Это нормальное поведение.
Anonymous
Да, но все юзают для этого _.compact
Anonymous
Хотя можно обойтись и без него
Андрей
Anonymous
С того, что много ревью делал
Roman
лодеш этот как чума
Alexey
Всем привет! Проблема с работой Java Script при посадке сайта на WordPress. В исходной вёрстке многостраничного сайта работают все скрипты: Slick-slider, jquery.maskedinput.min.js и собственный main.js Ипользую jQuery 1.12.4
После того, как закинул всё это в тему WordPress, я правильно подключил jQuery через functions.php как показано на сайте wp-kama.ru
В итоге часть скриптов не работает. Я бы понял, если бы они не подключились, но динамически всё подключилось успешно. Slick работает, jquery.maskedinput не работает, а в файле main.js частькода работает, а часть нет. По рекомендации того же сайта wp-kama.ru заменил все знаки $ на jQuery. Проверил на чистой вёрстке - работает всё олично, а в Wordpress по-прежнему часть скриптов не работает. Попробовал неработающие скрипты закинуть в body через тэг script, но всё равно не работает.
Кто сталкивался с такой ерундой? Что мне делать? Переписывать по-другому тот код, который не работает? Но ведь в простой вёрстке он работает.
Gregory
Это, я думаю, скорее в php чат
Alexey
не работает же JS
Андрей
Ты сам показал, что проблема в твоей cms.
Никита
Здраствуйте, мне попался проэкт и мне нужно в нем разобратся, программирую недавно, хотелось бы найти человека, который поможет мне в этом. Программа на Unity под андроид, если есть кто разбирается, отпишите.
Андрей
CherryTea
кто мне раскажет, заччем это
var length = list.length >>> 0;
Anonymous
Alex CherryTea, важно конечно в каком контексте используется эта строка. Если грубо, то это строгая проверка на ввод символов.
CherryTea
CherryTea
я так понял что это удобный способ привести к числу строку
CherryTea
точнее к числу - что угодно
Anonymous
Метод length определяет количество символов в строке.
CherryTea
меня интересовало использование битового сдвига здесь
Anonymous
Вашем случае полученное значение не должно быть равно 9 строго. То есть по любому что то введено. Как правило используется на всяких формах
Anonymous
Ясно
CherryTea
CherryTea
например
({}).length >>> 0
Anonymous
Проверка на ввод, я же написал выше
CherryTea
да какой ввод это полифил для массива
CherryTea
метода find()
CherryTea
внезапно такой трюк даже надежнее чем явное приведение.
Number(NaN) вернет NaN
в то время как
NaN >>> 0 вернет 0
CherryTea
с отрицательными числами только работает непредсказуемо
Андрей
Неочевидное говно. Не пиши так.
Sergey
Андрей
Лучше пусть будет больше кода, но он будет понятным.
Андрей
Ты не перфонанс херню пишешь.
CherryTea
утиная типизация, норм
Андрей
Хуизация
Андрей
Пишите нормальный код.
Dartess
Так это ж из полифила. Он пишется (по хорошему) на раз и не предназначен для чтения. И ему желательно работать как можно шустрее, в т ч и за счёт таких штук.
CherryTea
в данному случае прибавки к скорости он не дает
CherryTea
скорее как раз для того чтобы если length окажется undefined не упал цикл дальше
Андрей
Андрей
Руками проверяй.
Андрей
CherryTea
CherryTea
Андрей
Андрей
И консоли?
Андрей
А потанцевать не требовалось?
Dartess
Дык можно было написать что-то типа length = Number(obj.length) || 0. Можно было ифами обмазаться. Но побитовый сдвиг определённо будет работать быстрее всего. Каким бы говном это решение ни было.
CherryTea
Андрей
Dartess
Я ж не говорю что так надо свой код писать) но для таких узких решений как полифилы - норм.
Андрей