var re = /\[(.*?)\]\s*\((http.*?)\)/g;
var txt = '[катетер-направленному тромболизису] (https://www.radiologyinfo.org/en/info.cfm?pg=thrombo), но та, которая, помимо удаления тромбов, также открывает и усиливает слишком маленькие кровеносные сосуды через стенты или другие средства. Также может быть желательно увеличить их проницаемость, чтобы фиксаторы достигали паренхимы мозга по всему кровеносному сосуду, а не только на кончиках. Лазер может делать микроскопические дыры по всей длине, а затем, возможно, добавить [тонкий слой полиамида] (https://en.wikipedia.org/wiki/Thin-film_composite_membrane#Structure_and_materials)';
var html = txt.replace(re,(a,b,c)=>{
console.log("-------------\ntext:",b,"\nurl:",c);
return `<a href='${c}'>${c}</a>`;
});
console.log("-------------\n",html);
-------------
text: катетер-направленному тромболизису
url: https://www.radiologyinfo.org/en/info.cfm?pg=thrombo
-------------
text: тонкий слой полиамида
url: https://en.wikipedia.org/wiki/Thin-film_composite_membrane#Structure_and_materials
-------------
<a href='https://www.radiologyinfo.org/en/info.cfm?pg=thrombo'>https://www.radiologyinfo.org/en/info.cfm?pg=thrombo</a>, но та, которая, помимо удаления тромбов, также открывает и усиливает слишком маленькие кровеносные сосуды через стенты или другие средства. Также может быть желательно увеличить их проницаемость, чтобы фиксаторы достигали паренхимы мозга по всему кровеносному сосуду, а не только на кончиках. Лазер может делать микроскопические дыры по всей длине, а затем, возможно, добавить <a href='https://en.wikipedia.org/wiki/Thin-film_composite_membrane#Structure_and_materials'>https://en.wikipedia.org/wiki/Thin-film_composite_membrane#Structure_and_materials</a>
const fs = require("fs");
const Discord = require("discord.js");
const client = new Discord.Client();
client.login("ТУТ ВАШ ТОКЕН");
...
// обработчик события message
client.on('message', async message => {
const filename = Date.now()+".json";
const data = {
content: message.content,
attachments: message.attachments.map(attach=>{
return {
id: attach.id,
url: attach.url,
proxyURL: attach.proxyURL,
filename: attach.filename,
filesize: attach.filesize,
height: attach.height,
width: attach.width
};
})
};
// не забудьте создать папочку logs в папке с ботом
fs.writeFile('./logs/'+filename, JSON.stringify(data), (err) => {
if (err) throw err;
});
});
{
"content":"Тест",
"attachments":[
{
"id":"686193341083549696",
"url":"https://cdn.discordapp.com/attachments/452202521671237653/686193341083549696/IMG-30dd366b26acb4b1cbbe786f3ad22862-V.jpg",
"proxyURL":"https://media.discordapp.net/attachments/452202521671237653/686193341083549696/IMG-30dd366b26acb4b1cbbe786f3ad22862-V.jpg",
"filename":"IMG-30dd366b26acb4b1cbbe786f3ad22862-V.jpg",
"filesize":58121,
"height":330,
"width":374
}
]
}
var matrixes = [
[
[3, 2, 1],
[1, 2, 3],
[3, 1, 3]
], // Должен выводится 3
[
[3, 2, 1],
[1, 2, 3],
[3, 2, 1]
], // Должен выводится 0
[
[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]
], // Должен выводится 4
[
[2, 4],
[4, 2]
] // Должен выводится 0
];
matrixes.forEach( matrix => {
console.log("------------------------");
console.table(matrix);
console.log(calc(matrix));
});
function calc(matrix){
let template = matrix[0];
let result = matrix.reduce( (acc1, items, index1) => {
if(index1===0) return acc1;
template = template.reverse();
acc1 += items.reduce( (acc2, item, index2) => {
acc2 += Math.abs(template[index2]-item);
return acc2;
},0);
return acc1;
},0);
return result;
}
var obj = { a: { b: { c: 3 } }, c: 1, b: 1 };
var str = 'a.b.c';
var value = eval('obj.'+str);
var obj = { a: { b: { c: 3 } }, c: 1, b: 1 };
var value = getPath(obj,'a.c');
function getPath(object, keyPath){
if( typeof keyPath === 'string' ) keyPath = keyPath.split(/\./);
if( !Array.isArray(keyPath) ) return undefined;
let key = keyPath.shift();
if( !key) return object;
if( !object.hasOwnProperty(key) ) return undefined;
if( keyPath.length === 0 ) return object[key];
return getPath(object[key],keyPath);
}
$('input[name="date"]').mask("00:00 rm", {
translation: {
'r': {
pattern: /(a|p)/,
},
placeholder: "__:__ __"
}
});
Что такое циклическая ссылка?
var a = {};
a.a = a;
a.a.a
у нас получиться, и к a.a.a.a.a.a
получится. При этом a == a.a == a.a.a == a.a.a.a == и т.д
... почему они мешают преобразованию объекта в JSON.
a
не может быть преобразован к JSON И почему всё выводится без задержки?
((i) => { return console.log( i ); })(i)
самовызывающаяся функция, которая выполняется сразу. сделайте вместо нее ()=>{ return console.log( i ); }
for (let i=1; i<=5; i++) {
setTimeout( () => {
return console.log( i );
}, 1000 );
}
choicesInit
copyDiv
и c1
у вас обычные синхронные функции. Для них не надо писать awaitTypeError: document.all.surface is undefined
ReferenceError: Numb is not defined
ReferenceError: check is not defined
let re = new RegExp(variable + "=" + ".*?(?=&|$)");
const result = url.replace(re, variable + "=" + newData);
let url = 'http://localhost/?a=1&b=2&test=Y&clear=allcache';
let re = /(\?|&)(.*?)\=(.*?)(?=&|$)/g;
const newdata = {
test: 333,
clear: 4444
};
function changeURL(url, keys) {
return url.replace(re, (a,prefix,key,val)=>{
if( keys[key] )
return prefix+key+"="+keys[key];
return prefix+key+"="+val;
});
}
url = changeURL(url, newdata);
console.log(url);
var parse = (arr)=>arr.reduce((a,b)=>b.lists.forEach(c=>c.tags.forEach(d=>a.push({tags:d,volume:b.volume,list:c.list})))||a,[]);
var array = parse(json.results);
console.log(array);
[ { tags: 'hello', volume: 1, list: 1 },
{ tags: 'world', volume: 1, list: 1 },
{ tags: 'hello', volume: 1, list: 2 },
{ tags: 'world', volume: 2, list: 1 },
{ tags: 'hello', volume: 2, list: 2 },
{ tags: 'internet', volume: 2, list: 2 } ]
// функция с "МАГИЕЙ"
var upsertItem = (arr, item)=>{
let isFound = false;
arr = arr.map(obj=>{
if( obj.id==item.id ){
isFound = true;
return item;
}else{
return obj;
}
});
if( !isFound )
arr.push(item);
return arr;
}
// используем
arr=[{"id":1,"red":1000},{"id":2,"red":1000},{"id":3,"black":1000}];
// обновит элемент
arr = upsertItem(arr, {"id":1,"red":0});
console.log(JSON.stringify(arr));
// выведет: [{"id":1,"red":0},{"id":2,"red":1000},{"id":3,"black":1000}]
// добавит элемент
arr = upsertItem(arr, {"id":4,"blue":0});
console.log(JSON.stringify(arr));
// выведет: [{"id":1,"red":0},{"id":2,"red":1000},{"id":3,"black":1000},{"id":4,"blue":0}]