1、删除数组某项
// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function (from, to) {
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this, rest);
};
2、当前时间
function getNow() {
var date = new Date();
return date.getFullYear() + "-" + (parseInt(date.getMonth()) + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
}
3、格式化日期
function formater(date) {
return date.getFullYear() + "-" + (parseInt(date.getMonth()) + 1) + "-" + date.getDate();
}
4、判断是否JSON格式对象
function isJson(obj) {
return typeof(obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length;
}
5、canvas的相对window窗口坐标转换成canvas内部相对坐标
function windowToCanvas(canvas, x, y) {
var bbox = canvas.getBoundingClientRect();
return { x: x - bbox.left * (canvas.width / bbox.width),
y: y - bbox.top * (canvas.height / bbox.height)
};
}
6. array sort by key 数组按照指定key排序。支持datetime string,下面的post_time_hk 要改成对应的field。不是很通用。
function sortByKey(array, key, order) {
return array.sort(function(a, b) {
if (key == "post_time_hk") {
var x = new Date(a[key]).getTime() / 1000;
var y = new Date(b[key]).getTime() / 1000;
} else {
var x = parseInt(a[key]);
var y = parseInt(b[key]);
}
if (order == 'desc') {
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
} else {
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}
});
}
7. 格式化字符串
第一个参数是字符串,后面的参数是需要格式化的内容。
function stringFormat() {
if (arguments.length == 0)
return null;
var str = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
str = str.replace(re, arguments[i]);
}
return str;
}
StringFormat("&Type={0}&Ro={1}&lPlan={2}&Plan={3}&={4}&Id={5}&Id={6}", data1, data2, data3,data4, data5,data6,data7);