Skip to content

Instantly share code, notes, and snippets.

View artemsites's full-sized avatar

Artem Kuznecov artemsites

View GitHub Profile
<?php
function transliterate($text, $lowercase=false, $spaceToDash=false) {
$transliterationTable = array(
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
'е' => 'e', 'ё' => 'yo', 'ж' => 'zh', 'з' => 'z', 'и' => 'i',
'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't',
'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts', 'ч' => 'ch',
'ш' => 'sh', 'щ' => 'shch', 'ъ' => '', 'ы' => 'y', 'ь' => '',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
export function checkArraysContainSameObjects(arr1, arr2, key) {
if (arr1.length !== arr2.length) {
return false
}
return arr1.every(arr1Obj => arr2.some(arr2Obj => arr1Obj[key] === arr2Obj[key]))
}
/**
* @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()) {
@artemsites
artemsites / regexp.js
Last active September 16, 2024 18:37
/**
* @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">
&times;
</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)

Отключить свайп

tns({ 
  swipeAngle: -1,            
})

Дерево — это структура данных, состоящая из узлов, где каждый узел содержит данные и ссылки на дочерние узлы. Деревья часто используются для представления иерархических данных.

Ниже приведен пример реализации дерева на JavaScript. В этом примере мы создадим простое дерево, где каждый узел может иметь несколько дочерних узлов.

Узел (Node)

Каждый узел содержит данные и массив дочерних узлов:

class TreeNode {

Связный список (или Linked List) — это структура данных, состоящая из узлов, где каждый узел содержит данные и ссылку на следующий узел в списке. Связные списки позволяют эффективно добавлять и удалять элементы, не требуя сдвига других элементов, как это происходит в массиве.

Узел (Node)

Каждый узел в связном списке содержит данные и ссылку на следующий узел:

class Node {
    public $data;
    public $next;

    public function __construct($data) {
        $this->data = $data;