Skip to content

Instantly share code, notes, and snippets.

View black-black-cat's full-sized avatar

bcatb black-black-cat

View GitHub Profile
@black-black-cat
black-black-cat / toColStr.js
Created December 27, 2017 03:30
将数字转换成Excel列数
function toColStr(n) {
str = ''
while (n > 0) {
var mod = (n-1) % 26
n = Math.floor( (n-1)/26 )
str = String.fromCharCode( mod + 65 ) + str
}
return str
}
@black-black-cat
black-black-cat / index.js
Last active December 22, 2017 16:30
跨浏览器标签通信
;(function (root, factory) {
root.CrossTab = factory()
}(window, function factory() {
var store = {
get: function (key) {
var strValue = localStorage.getItem(key)
var value
try {
value = JSON.parse(strValue)
} catch (err) {
@black-black-cat
black-black-cat / clone.js
Last active December 19, 2017 15:43
clone vs deep clone
function clone(value) {
var result
if (Array.isArray(value)) {
result = []
value.forEach(function (item) {
result[result.length] = item
})
} else if (typeof value === 'object') {
result = {}
Object.keys(value).forEach(function (key) {
@black-black-cat
black-black-cat / flatten.js
Created December 19, 2017 07:40
flatten array
function flatten(arr, result) {
result = result || []
arr.forEach(function(item) {
if (Array.isArray(item)) {
flatten(item, result)
} else {
result.push(item)
}
})
@black-black-cat
black-black-cat / ordinal.js
Created December 15, 2017 09:55
处理英文序号 th, st, nd, rd
function getOrdinal(n) {
var s=["th","st","nd","rd"],
v=n%100;
return n+(s[(v-20)%10]||s[v]||s[0]);
}
function ordinal_suffix_of(i) {
var j = i % 10,
k = i % 100;
if (j == 1 && k != 11) {
@black-black-cat
black-black-cat / index.html
Last active June 7, 2019 18:43
快速排序、选择排序、冒泡排序, merge sort
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>GistRun</title>
<!--<link rel="stylesheet" href="styles.css">-->
</head>
<body>
<h1>Hello world!</h1>
@black-black-cat
black-black-cat / fib.js
Last active December 3, 2017 17:34
求斐波那契数列的第n项的值,n的取值从1开始
// 使用递归计算
function fib(n) { return n < 2 ? n : fib(n-1) + fib(n-2) }
// 使用循环计算
function fib_1(n) {
var arr = [1, 1]
var curLen
while(arr.length < n) {
curLen = arr.length
arr[curLen] = arr[curLen - 1] + arr[curLen - 2]
@black-black-cat
black-black-cat / vendor.js
Last active December 2, 2017 07:26
样式名加前缀
function vendor(style) {
if (!styles[style]) {
prefixes.map(function (prefix) {
return prefix
? prefix + style[0].toUpperCase() + style.slice(1)
: style
}).some(function (prefixedStyle) {
if (elementStyle[prefixedStyle] !== void 0) {
styles[style] = prefixedStyle
return true
@black-black-cat
black-black-cat / npm-global.txt
Created November 28, 2017 05:57
npm 全局包
C:\Users\Administrator\AppData\Roaming\npm
+-- [email protected]
+-- [email protected]
+-- [email protected] -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\.browser-sync_npminstall\node_modules\.2.18.6@browser-sync
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected] -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\.generator-fountain-vue_npminstall\node_modules\.1.0.0-rc2@generator-fountain-vue
@black-black-cat
black-black-cat / lastDateOfMonth.js
Created November 27, 2017 11:06
获取一个月的最后一天
function getLastDate(y, m) { return new Date(m > 11 ? y + 1 : y, m % 12, 0) }