tns({
swipeAngle: -1,
})
/** | |
* @version 17.09.2024 | |
* @author info@artemsites.ru | |
* import { DateFormatterClass } from "/src/utils/DateFormatterClass.js" | |
* | |
* const dateFormatter = new DateFormatterClass('2024-03-28') // создаст экземпляр на указанную дату | |
* const dateFormatter = new DateFormatterClass() // создаст экземпляр на текущую дату | |
*/ | |
export class DateFormatterClass { | |
constructor(dateString = new Date()) { |
/** | |
* @version 16.09.2024 | |
* import { getClearPhone } from "/src/utils/regexp.js" | |
*/ | |
export function getClearPhone(str) { | |
return str.replace(/[^+0-9]/g, "") | |
} |
<template> | |
<Teleport to="body"> | |
<Transition> | |
<div v-if="isOpen" class="popup-overlay" @click="closePopup"> | |
<div class="popup-content" @click.stop> | |
<button class="popup-close" @click="closePopup"> | |
× | |
</button> | |
<slot></slot> |
/** | |
* import { copyToClipboard } from "/src/utils/copyToClipboard.js" | |
* | |
* copyToClipboard("Этот текст будет скопирован в буфер обмена") | |
*/ | |
export function copyToClipboard(text, callback) { | |
const textarea = document.createElement('textarea') | |
textarea.value = text | |
document.body.appendChild(textarea) |
_ |
Дерево — это структура данных, состоящая из узлов, где каждый узел содержит данные и ссылки на дочерние узлы. Деревья часто используются для представления иерархических данных.
Ниже приведен пример реализации дерева на JavaScript. В этом примере мы создадим простое дерево, где каждый узел может иметь несколько дочерних узлов.
Каждый узел содержит данные и массив дочерних узлов:
class TreeNode {
Связный список (или Linked List) — это структура данных, состоящая из узлов, где каждый узел содержит данные и ссылку на следующий узел в списке. Связные списки позволяют эффективно добавлять и удалять элементы, не требуя сдвига других элементов, как это происходит в массиве.
Каждый узел в связном списке содержит данные и ссылку на следующий узел:
class Node {
public $data;
public $next;
public function __construct($data) {
$this->data = $data;
Двунаправленный связный список (Double Linked List) — это структура данных, в которой каждый узел содержит ссылки на следующий и предыдущий узлы. Это позволяет легко перемещаться в обоих направлениях по списку.
Вот пример реализации двунаправленного связного списка на JavaScript:
Каждый узел содержит данные, ссылку на следующий узел и ссылку на предыдущий узел:
class Node {
import setCaretPosition from '/src/utils/setCaretPosition' | |
export default function(e) { | |
let pos = e.target.value.search(/.(?=[^\d]*$)/) | |
if (pos < 4) { | |
// !@note асинхронный обход бага vue-imask на safari 17.1 когда при первом фокусе на vue-imask он ставит курсор в конец инпута телефона | |
setTimeout(() => { | |
setCaretPosition(e.target, 4) | |
}, 1) | |
} |