Skip to content

Instantly share code, notes, and snippets.

View DefectingCat's full-sized avatar
🎮
ELDEN RING

Sonetto DefectingCat

🎮
ELDEN RING
View GitHub Profile
@DefectingCat
DefectingCat / public.asc
Last active March 13, 2024 09:10
my pgp public key
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGNBF4et1wBDADKQeFwnhBB7OoVW8DZuEvxxjhilx+OOksTgnELPxUsbK1RMKgo
251jlHDyNR1EVkgB2q0c/6kDMALpaGhLjPdG3Hycba/z/sJWHGLwq1gsbPhSKJBF
NUvZXvGcHNOIMV70rf40KoAQV8qdfSWdAkVstp+OjHjNjl/02k91hZ/w1o0Mag7/
G1So0gK2ubYqv2zh6kJJ5LlTxaYF9gEZfLaVecvB87SKNXWpjsoPynZSeADLywsr
1aQCKocfglwKqLudXeGD+j5bqXYJL8sfFnVmorAMcliwH/g1Vk+EVS/9tDKmxTL5
0FFRRPqskqoDq/uY1E8kr7W0n3b2m9OPPwEzZo62E2LYznmTbVaelYrLUI41rfuh
njCjLZNeas1SAfDnEW8ibl+BWW81c9tj5dITQFcSlwMftoA2OvE3oVWmCOTJPEBI
RoGsv4c2vTfcaJkOzJiU3SdQI2fxQTXcegbzBOWD1+ZoNJRAaSlOL8AEb6wPdEIu
@DefectingCat
DefectingCat / js洗牌算法.js
Last active April 22, 2022 09:01
利用类似洗牌的方式随机打乱数组
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
function shuffle(arr) {
let cac;
let len = arr.length - 1;
let ran;
for (let i = 0; i < len; i++) {
// 保存当前位
cac = arr[i];
// 剩下位的随机抽取
ran = Math.floor(Math.random() * (len - i + 1) + i);
@DefectingCat
DefectingCat / type方法.js
Last active April 22, 2022 08:59
利用Object.toString判断更准确的数据类型
// new
function type(target) {
let temp = {
"[object String]": 'ObjectString',
"[object Number]": 'ObejctNumber',
"[object Array]": 'Array',
"[object RegExp]": 'RegExp',
"[object Date]": 'Date'
}
if (target === null) {
@DefectingCat
DefectingCat / 利用对象.js
Last active April 22, 2022 09:00
一种不完善的数组去重方法
Array.prototype.unique = function () {
let x,
y;
let uni = {};
for (x of this) {
uni[x] = 'xfy';
}
let arr = Object.keys(uni);
return arr;
}
@DefectingCat
DefectingCat / 访问器属性与私有化变量.js
Last active April 21, 2022 08:06
访问器属性与私有化变量
let xfy = (() => {
let name = 'xfy';
let age = 18;
let obj = {};
Object.defineProperty(obj, 'test', {
get: function () {
return name + ' : ' + age;
},
set: function (value) {
name = value;
@DefectingCat
DefectingCat / fibonacci.js
Last active April 21, 2022 08:06
Fibonacci
function fibonacci(num) {
let count = 0;
let result = [1, 1];
if (num <= 1) {
return result;
}
let n = num - 2;
for (let i = 0; i < n; i++) {
result.push(result[count] + result[count + 1]);
count++;
let obj = {
a: "xfy",
b: {
c: "test",
},
d: 123,
e: [1, 2, 3, 4, 5],
f: {
g: 'array',
h: [1, 2, 3, 4, 5, 6, {
@DefectingCat
DefectingCat / TypeScript Debounce.ts
Last active April 21, 2022 07:48
TypeScript Debounce
// "typescript": "~4.1.5"
type Debounce = {
<T extends unknown[]>(fn: (...arg: T) => void | unknown, ms: number): (
this: unknown,
...arg: T
) => void | unknown;
};
/**
* debounce function wrapper
@DefectingCat
DefectingCat / generator-fibonacci.ts
Last active April 21, 2022 08:03
Fibonacci with generator
function* fibonacciSquence() {
let x = 0,
y = 1;
for (;;) {
yield y;
[x, y] = [y, x + y];
}
}
const fibonacci = (n: number) => {
@DefectingCat
DefectingCat / update.js
Last active April 21, 2022 07:44
数组去重合并
let arr = [
{ name: 'zs', age: 15, happy: ['唱歌', '玩游戏'] },
{ name: 'ls', age: 15, happy: ['玩游戏'] },
{ name: 'zs', age: 15, happy: ['学习', '划水'] },
];
function test(arr) {
let _obj = {};
let _arr = [];
if (!arr.length) return;