Лайфхаки LEADTEX
561 subscribers
40 photos
2 videos
2 files
120 links
LeadTex лайфхаки, ссылки на нужные ресурсы #lifehack_LeadTex
Download Telegram
Трюки Javascript

От перестановки мест слагаемых сумма не меняется! Но только не для компьютера!

var a = (0.1 + 0.2) + 0.3;
var b = 0.1 + (0.2 + 0.3);
if(a == b)
sendMessage("a == b");
else
sendMessage(a + ' != '+ b);
// 0.6000000000000001 != 0.6

#trick #javascript
Forwarded from Елена Берко
Привет, народ. Я с новой фишкой по приему переменных с сайтов.

https://app.leadteh.ru/w/yFny?__phone__=777890000 - заполнит системную переменную {{phone}} (по два нижних подчеркивания ДО и ПОСЛЕ phone)

Для создания обычных переменных не нужны нижние подчеркивания. При этом они создаются.

https://app.leadteh.ru/w/yFny?password=password

Часть ссылки до "?" берется в каналах. Можно на конкретный сценарий.
Трюки Javascript

Разбивка строки на слова

Допустим мы получили ответ пользователя бота в переменную "otvet" и хотим разбить это предложение на слова. Используем для этого блок "HTTP запрос", в URL пишем, например, https://site.ru Включаем "Обработать ответ с помощью JavaScript" и копируем туда эту программку:

var otvet = getContactVariable("otvet");
var ss = otvet.split(' ');
for(var i=0; i<ss.length; i++)
setContactVariable("v"+(i+1), ss[i])
;

После
отработки "Http блока" получим несколько переменных: v1, v2... В каждой переменной будет слово, а количество зависит от количества слов в тексте ответа

#trick #javascript
Фильтрация по "пустому полю"

Для метода getListItems API Leadtex используя фильтрацию:
filters[pole]=LIKE,%
получим все строки с "НЕ ПУСТЫМ" полем "pole". Т.е. все строки с заполненным pole.

Используя фильтрацию:
filters[pole]=NOT LIKE,%
получим все строки с "ПУСТЫМ" полем "pole". Т.е. все строки с НЕ заполненным pole.

Поле "pole" должно иметь текстовый формат!
Трюки Javascript

Отсечение десятичной части числа

Как
Вы думаете, что выдаст данная программка:

var x = 11 / 3;
sendMessage(x);
sendMessage(x ^ 0);

Правильно, в первом случае будет десятичное число: 3.6666666666666665, а во втором: 3

Операция X ^ 0, работает как функция Math.floor().
Так происходит потому, что для битовых операций в JavaScript используется целочисленная 32-битная арифметика.

#trick #javascript
Трюки Javascript

Функция-тест на целое число

Использую предыдущий трюк можно написать
функцию определяющую, что ее аргумент целое число или нет:

function isInteger(num) {
return (num ^ 0) === num;
}

Для:
sendMessage(isInteger(3)); // true
sendMessage(isInteger(-0.9)); // false

#trick #javascript
Трюки Javascript

Поиск подстроки

Обычно
функцию indexOf() Мы используем так:

var str = "строка";
if(str.indexOf("ока") != -1)
sendMessage("найдено!");

А можно вот так:

var str = "строка";
if(~str.indexOf("ока"))
sendMessage("найдено!");

Строку ~str.indexOf() можно читать как: если найдено.

#trick #javascript
This media is not supported in your browser
VIEW IN TELEGRAM
С праздником!
Опубликовано видео "Динамические сообщения". Посмотрев это видео Вы сможете создать сообщения, которые выдают информацию постепенно, что интригует читателя.

https://youtu.be/XD5G6TZPZpc
Шпаргалка по String функциям

"Leadtex".charAt(4) // "t"
"Leadtex".charCodeAt(0) // 76
"Leadtex".concat(".com") // "Leadtex.com"
"Leadtex".indexOf("e") // 1
"Leadtex".lastIndexOf("e") // 5
"Leadtex".length // 7
//"Leadtex".localeCompare()
"Leadtex".match(/[ae]/g) // ["e","a","e"]
"Leadtex".replace("tex","er")// "Leader"
"Leadtex".search("t") // 4
"Leadtex".slice(0,4) // "Lead"
"Leadtex".split("") // ['L','e','a','d','t','e','x']
"Leadtex".substr(2,2) // "ad"
"Leadtex".substring(2,4) // "ad"
//"Leadtex".toLocaleLowerCase()
//"Leadtex".toLocaleUpperCase()
"Leadtex".toLowerCase() // leadtex
"Leadtex".toUpperCase() // LEADTEX
" Leadtex ".trim() // "Leadtex"
" Leadtex ".trimLeft() // "Leadtex "
" Leadtex ".trimRight() // " Leadtex"
Статический метод объекта String

String.fromCharCode(0x441,0x44d,0x440);
// "сэр"
Шпаргалка по Math функциям и свойствам
Math.E // 2.718281828459045
Math.LN10 // 2.302585092994046
Math.LN2 // 0.6931471805599453
Math.LOG10E // 0.4342944819032518
Math.LOG2E // 1.4426950408889634
Math.PI // 3.141592653589793
Math.SQRT1_2 // 0.7071067811865476
Math.SQRT2 // 1.4142135623730951
Math.abs(-1.5) // 1.5
Math.acos(1) // 0
Math.asin(1) // 1.5707963267948966
Math.atan(1) // 0.7853981633974483
Math.atan2(5,5) // 0.7853981633974483
Math.ceil(1.5) // 2
Math.cos(0) // 1
Math.exp(0) // 1
Math.floor(1.5) // 1
Math.log(2.718281828459045) // 1
Math.max(3,10,-2) // 10
Math.min(3,10,-2) // -2
Math.pow(5,2) // 25
Math.random() // случайное от 0 до 1
Math.round(1.5) // 2
Math.sin(0) // 0
Math.sqrt(25) // 5
Math.tan(0) // 0
Шпаргалка по числовым функциям и свойствам
Number.MAX_VALUE; // 1.7976931348623157e+308
Number.MIN_VALUE; // 5e-324
Number.NaN; // NaN
Number.NEGATIVE_INFINITY; // -Infinity
Number.POSITIVE_INFINITY; // Infinity
isFinite(1/0); // false
isNaN("25"); // false
parseFloat("1.23"); // 1.23
parseInt("12.3"); // 12
(1.5).toExponential(3); // 1.500e+00
(12345.6789).toFixed(1); // 12345.7
(123456.789).toLocaleString(); // 123,456.789
(123456.789).toPrecision(2); // 1.2e+05
(255).toString(16); // "ff"
Шпаргалка по значениям Boolean

Boolean(false); // false
Boolean(undefined); // false
Boolean(null); // false
Boolean(''); // false
Boolean(NaN); // false
Boolean(0); // false
Boolean(-0); // false

Boolean(true); // true
Boolean('hi'); // true
Boolean(1); // true
Boolean([]); // true
Boolean([0]); // true
Boolean([1]); // true
Boolean({}); // true
Boolean({ a: 1 }); // true
Опубликовано новое видео о применении блока "Интерпретатор JavaScript". Рассмотрено применение этого блока на практике. В результате рассмотрено 3 варианта бота "Нумеролог"

https://youtu.be/2FJZ5ly77IM
Код программа для блока
"Интерпретатор JavaScript",
вариант 1:


function calc(s) {
return ('' + s)
.split('')
.reduce(function(acc,val){
acc += +val
return acc
}, 0)
}

var date = getContactVariable("date")
var str = date.replace(/[.]/g, '')
// sendMessage(str)
var num = calc(str)
while(num > 9)
num = calc(num)
// sendMessage(num)

setContactVariable("num", num)


Видео: https://youtu.be/2FJZ5ly77IM
Код программа для блока
"Интерпретатор JavaScript",
вариант 3:


function calc(s) {
return ('' + s)
.split('')
.reduce(function(acc,val){
acc += +val
return acc
}, 0)
}

var date = getContactVariable("date")
var str = date.replace(/[.]/g, '')
// sendMessage(str)
var num = calc(str)
while(num > 9)
num = calc(num)
// sendMessage(num)

var ed = ['','ЕДИНИЦА','ДВОЙКА','ТРОЙКА','ЧЕТВЕРКА',
'ПЯТЁРКА','ШЕСТЕРКА','СЕМЁРКА','ВОСЬМЁРКА','ДЕВЯТКА']
setContactVariable("num_text", ed[num])

var text = getGlobalVariable("numerology"+num)
setContactVariable("text", text)


Видео: https://youtu.be/2FJZ5ly77IM
Вышло новое видео о подключении чат-бота к программе Искусственного интеллекта GigaChat. Это продукт компании Сбер. Рассмотрен режим текстовой генерации

https://youtu.be/VhZ9a0UDdck
Еще один нелегкий год прошёл,
оставив нам один надежды лучик...
Пусть будет в декабре Вам хорошо,
а в январе раз в сотню лучше!!!