.used-p-c:valid {
....
}
const addTimeDescription = (str) =>
str.replace(/\b\d{1,2}:\d{2}\b(?!.*?\b\d{1,2}:\d{2}\b)/, '$& (время местное)');
// пример использования
const originalString = " с 14:01 к 15:00 работать по плановому";
const updatedString = addTimeDescription(originalString); // ' с 14:01 к 15:00 (время местное) работать по плановому'
/^.*\b\d\d?:\d\d\b/
function createQueue(onMatch) {
const queue = [];
const checkItem = (item, range, i) => {
if (item[0] <= range[0] && range[1] <= item[1]) {
queue.splice(i, 1);
onMatch(range, item);
return true;
}
return false;
};
const add = (range) => {
for (let i = 0; i < queue.length; ++i) {
if (checkItem(queue[i], range, i) || checkItem(range, queue[i], i)) {
return;
}
}
queue.push(range);
};
return {queue, add};
}
// пример использования
const q = createQueue((a, b) => console.log(a, b));
q.add([2, 4]);
q.add([3, 5]);
q.add([4, 4]); // log ([4, 4], [2, 4])
const result = JSON.parse(
'(1 (20 (400 5 60 (700) 108 (90)) 3))'
.replaceAll('(', '[')
.replaceAll(')', ']')
.replace(/(\d|\])(?=\s+\d|\s*\[)/g, '$&,'));
function getTree(str) {
const tokens = str.match(/\d+|[()]/g);
const stack = [];
let currentArr = null;
for(let i = 0; i < tokens.length; ++i) {
const token = tokens[i];
if (token === ')') {
if (!stack.length) {
return currentArr;
}
currentArr = stack.pop();
} else if (token === '(') {
const newArr = [];
if (currentArr) {
currentArr.push(newArr);
stack.push(currentArr);
}
currentArr = newArr;
} else {
if (currentArr) {
currentArr.push(parseInt(token));
}
}
}
return currentArr;
}
const result = getTree('(1 (20 (400 5 60 (700) 108 (90)) 3))');
const promises = [
Promise.reject('rejected1'),
Promise.reject('rejected2'),
Promise.resolve('resolved'),
];
1) err => {throw err;}
2) err => {throw err;}
3) onFullfiled
4) onRejected,
5) onRejected
6) v => v,
console[level].apply(console, argsWithFormat)
function createRandom(arr) {
const uniqArr = [...new Set(arr)]; // выкидываем дубликаты из массива
let size = uniqArr.length;
let index = -1;
return () => {
const rand = Math.floor(Math.random() * size);
index = (rand + index + 1) % uniqArr.length;
size = uniqArr.length - 1;
return uniqArr[index];
};
}
// использование
const getRand = createRandom([0, 1, 2, 3]);
for (let i = 0; i < 15; ++i) {
console.log(getRand());
}