View insertion-sort.js
function insertionSort(arr){ | |
var len = arr.length,index = 0,val | |
for(var j = 1;j < len ; j++){ | |
val = arr[j] | |
index = j - 1; | |
while(index >= 0 && val < arr[index]){ | |
arr[index+1] = arr[index] | |
index = index - 1 | |
} | |
arr[index+1] = val |
View easings-functions.js
var easings = (function() { | |
var eases = {}; | |
var names = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo']; | |
var functions = { | |
Sine: function(t) { return 1 - Math.cos( t * Math.PI / 2 ); }, | |
Circ: function(t) { return 1 - Math.sqrt( 1 - t * t ); }, | |
Elastic: function(t, m) { | |
if( t === 0 || t === 1 ) return t; | |
var p = (1 - Math.min(m, 998) / 1000), st = t / 1, st1 = st - 1, s = p / ( 2 * Math.PI ) * Math.asin( 1 ); | |
return -( Math.pow( 2, 10 * st1 ) * Math.sin( ( st1 - s ) * ( 2 * Math.PI ) / p ) ); |
View Simplify-Path.js
/** | |
* @param {string} path | |
* @return {string} | |
*/ | |
const PATH_START = 0 | |
const PATH_END = 1 | |
const PATH_READ = 2 | |
const PATH_CURRENT = 3 | |
const PATH_PARENT = 4 |
View parse_url_params.js
function parseUrlParam(url){ | |
var match, | |
urlParams = {}, | |
pl = /\+/g, // Regex for replacing addition symbol with a space | |
search = /([^&=]+)=?([^&]*)/g, | |
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); } | |
var query = url || location.href | |
var qus = query.indexOf('?') | |
if(qus !== -1){ |
View flex.css
.row { | |
box-sizing: border-box; | |
display: -webkit-flex; | |
display: -ms-flexbox; | |
display: flex; | |
-webkit-flex: 0 1 auto; | |
-ms-flex: 0 1 auto; | |
flex: 0 1 auto; | |
-webkit-flex-direction: row; | |
-ms-flex-direction: row; |
View renderString.js
function renderParser(string,data){ | |
const S_CODE = 0x24 // start CODE $ | |
const S_LEFT = 0x7b // { | |
const S_RIGHT = 0x7d // } | |
const S_SPACE = 0x20 | |
let length = string.length | |
let at = 0,code,expession = '',expessionResult = '' | |
let isEnterExpression = false | |
let result = '' | |
function charAt(at){ |
View uniqueElementPath.js
function getUniquePath(element){ | |
if(element.nodeType !== Node.ELEMENT_NODE){ | |
throw new Error('element must be element node') | |
} | |
if(element.id){ | |
return '#' + element.id | |
} | |
var path = '' | |
while(element){ | |
var name = element.localName |
View encode-csv.js
/** | |
* csv data encode | |
* var data = [[1850, 20, 0, 1, 1017281], [1850, 20, 0, 2, 1003841]]; | |
* encode(data) | |
* encode(data,{ header: ["year", "age", "status", "sex", "population"] }) | |
* encode([{age:xx,name:'xxx'}], {header:true}) | |
* options:{ delimiter:'分隔符',newline:换行符,skip:头部跳过数量,header:Object或者arrat } | |
*/ | |
const CELL_DELIMITERS = [',', ';', '\t', '|', '^'] |
View wxapkg.php
<?php | |
/* from : https://github.com/Clarence-pan/unpack-wxapkg */ | |
function unpack_wxapkg($file, $targetDir) | |
{ | |
if (!is_dir($targetDir)){ | |
mkdir($targetDir); | |
} | |
echo "Reading file.\n"; |
View debounce.js
function debounce(func, wait, immediate){ | |
var timeout, args, context, timestamp, result; | |
if (null == wait) wait = 100; | |
function later() { | |
var last = Date.now() - timestamp; | |
if (last < wait && last >= 0) { | |
timeout = setTimeout(later, wait - last); | |
} else { |
OlderNewer