//字符串转Date 字符串格式 yyyy-MM-dd HH:mm:ss
String.prototype.toDate = function() {
var date = eval('new Date(' + this.replace(/\d+(?=-[^-]+$)/,
function(a) {
return parseInt(a, 10) - 1;
}).match(/\d+/g) + ')');
return date;
};

//全部替换
String.prototype.replaceAll = function(txt) {
return this.replace(new RegExp(txt, "gm"), '');
}

//Date转字符串
Date.prototype.toString = function(format) {
var strYear = this.getFullYear(),
strMonth = this.getMonth() + 1,
strDay = this.getDate(),
strHour = this.getHours(),
strMinute = this.getMinutes(),
strSecond = this.getSeconds();

strMonth = strMonth < 10 ? '0' + strMonth : strMonth;
strDay = strDay < 10 ? '0' + strDay : strDay;
strHour = strHour < 10 ? '0' + strHour : strHour;
strMinute = strMinute < 10 ? '0' + strMinute : strMinute;
strSecond = strSecond < 10 ? '0' + strSecond : strSecond;

if(!format || format.length == 0) {
return strYear + "" + strMonth + "" + strDay + "" + strHour + "" + strMinute + "" + strSecond;
}
if(format.indexOf("yyyy") > -1) {
format = format.replace("yyyy", strYear);
}
if(format.indexOf("MM") > -1) {
format = format.replace("MM", strMonth);
}
if(format.indexOf("dd") > -1) {
format = format.replace("dd", strDay);
}
if(format.indexOf("HH") > -1) {
format = format.replace("HH", strHour);
}
if(format.indexOf("mm") > -1) {
format = format.replace("mm", strMinute);
}
if(format.indexOf("ss") > -1) {
format = format.replace("ss", strSecond);
}
return format;
};
//Date加年数
Date.prototype.addYears = function(years) {
var date = new Date(this.getTime());
date.setFullYear(date.getFullYear() + years);
return date;
};
//Date加月数
Date.prototype.addMonths = function(months) {
var date = new Date(this.getTime());
date.setMonth(date.getMonth() + months);
return date;
};
//Date加天数
Date.prototype.addDays = function(days) {
return new Date(this.getTime() + 1000 * 60 * 60 * 24 * days);
};
//Date加小时
Date.prototype.addHours = function(hours) {
return new Date(this.getTime() + 1000 * 60 * 60 * hours);
};
//Date加分钟
Date.prototype.addMinutes = function(minutes) {
return new Date(this.getTime() + 1000 * 60 * minutes);
};
//Date加秒
Date.prototype.addSeconds = function(seconds) {
return new Date(this.getTime() + 1000 * seconds);
};

//将数字改成千分位格式
Number.prototype.toThousandType = function() {
return(this + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
};
//数字格式化,如:00 000 0.00
Number.prototype.format = function(format) {
var str = this + "";
if(!format || format.length < str.length) return str;
var i = format.length - str.length;
while(i-- > 0) {
str = "0" + str;
}
return str;
};

//数组克隆
Array.prototype.clone = function() {
var s = [];
for(var i = 0; i < this.length; i++) {
var item = $.type(this[i]) == "object" ? $.extend({}, this[i]) : this[i];
s.push(item);
}
return s;
};
//数组元素索引-数据元素是对象
Array.prototype.indexOfObj = function(prop, element) {
var result = -1;
for(var i = 0; i < this.length; i++) {
if(this[i][prop] == element) {
result = i;
break;
}
}
return result;
};
//数组元素索引-数据元素不是对象
Array.prototype.indexOf = function(element) {
var result = -1;
for(var i = 0; i < this.length; i++) {
if(this[i] == element) {
result = i;
break;
}
}
return result;
};
//数组删除元素-数据元素是对象
Array.prototype.removeObj = function(prop, element) {
var index = this.indexOfObj(prop, element);
if(index < 0) return false;
this.splice(index, 1);
return true;
};
//数组删除元素-数据元素不是对象
Array.prototype.remove = function(element) {
var index = this.indexOf(element);
if(index < 0) return false;
this.splice(index, 1);
return true;
};
//查找数组中符合条件的元素
Array.prototype.where = function(condition) {
var ret = [];
for(var i = 0; i < this.length; i++) {
if(condition(this[i])) {
ret.push(this[i]);
}
}
return ret;
};
//查找数组中第一个符合条件的元素
Array.prototype.first = function(condition) {
for(var i = 0; i < this.length; i++) {
if(condition(this[i])) {
return this[i];
}
}
return undefined;
}
//判断数组是是否存在某元素
Array.prototype.contains = function(condition) {
return this.first(condition) != undefined;
}
//从数组中选择元素
Array.prototype.select = function(condition) {
var ret = [];
for(var i = 0; i < this.length; i++) {
ret.push(condition(this[i]));
}
return ret;
}
//向数组中追加数组
Array.prototype.pushArray = function(arry) {
for(var i = 0; i < arry.length; i++) {
this.push(arry[i]);
}
}
//从数组中选择前n个元素
Array.prototype.top = function(count) {
var ret = [];
count = count < this.length ? count : this.length;
for(var i = 0; i < count; i++) {
ret.push(this[i]);
}
return ret;
}
Array.prototype.skip = function(count) {
var ret = this.clone();
count = count < this.length ? count : this.length;
for(var i = 0; i < count; i++) {
ret.splice(0, 1);
}
return ret;
}
//数组里对象根据某个字段进行排序
Array.prototype.compare = function(solp) {
function pai(property) {
return function(obj1, obj2) {
var value1 = obj1[property];
var value2 = obj2[property];
return value1 - value2;
}
}
return this.sort(pai(solp));
}
//返回根据某一个字段和对应的值 查找出这个对象
Array.prototype.indexforObj = function(prop, element) {
var result = -1;
for(var i = 0; i < this.length; i++) {
if(this[i][prop] == element) {
result = this[i];
break;
}
}
return result;
};
//数组取最大值
Array.prototype.max = function() {
// 将数组第一个元素的值赋给max
var max = this[0];
// 使用for 循环从数组第一个值开始做遍历
for(var i = 1; i < this.length; i++) {
// 如果元素当前值大于max,就把这个当前值赋值给max
if(this[i] > max) {
max = this[i];
}
}
// 返回最大的值
return max;
}
//图表rm单位值
function formatUnit(str) {
var result
if(str == "doseRates") {
result = {
"xUnit": "S",
"yUnit": "μSv/h"
}
} else if(str == "neutronDetectorRecords") {
result = {
"xUnit": "道址",
"yUnit": "计数"
}
} else if(str == "gammaDetectorRecords") {
result = {
"xUnit": "道址",
"yUnit": "计数"
}
} else if(str == "spectrumDataUnit") {
result = {
"xUnit": "能量(KeV)",
"yUnit": "计数"
}
} else {
result = {
"xUnit": "S",
"yUnit": "CPS"
}
}
return result;
};
//设备报警率精确到小数6位
function proportion(tatol, alarm) {
var alarmText;
if(alarm == 0) {
alarmText = "0%"
} else {
var propor = tatol / alarm;
switch(true) {
case propor <= 100:
alarmText = (alarm / tatol * 100).toFixed(2) + "%";
break;
case propor <= 1000 && propor > 100:
alarmText = (alarm / tatol * 1000).toFixed(2) + "‰";
break;
case propor > 1000:
alarmText = (alarm / tatol * 10000).toFixed(2) + "‱";
}

}
return alarmText;
};
//根据rm的数组获取长度赋值给x轴
function formatData(arr, key) {
var obj = {};
var arrx = [];
if(key == 'gammaDetectorRecords') { // 伽马能谱
for(var i = 0; i <= 1023; i++) {
arrx.push(i)
}
obj.arrx = arrx;
} else if(key == 'neutronDetectorRecords') { // 中子能谱
for(var j = 0; j <= 15; j++) {
arrx.push(j)
}
obj.arrx = arrx;
} else {
for(var q = 0; q <= arr.length; q++) {
arrx.push(q)
}
obj.arrx = arrx;
}
// obj.arrY = arr;
return obj.arrx
};
//图表设备为0的时候
function noDev(obj) {
let option = {
title: obj.title,
graphic: {
type: 'text',
left: 'center',
top: 'center',
z: 2,
zlevel: 100,
style: {
text: "",
fill: '#b5c7cd',
font: 'bolder .20rem "Microsoft YaHei", sans-serif'
}
},
series: [{
name: '报警率',
type: 'pie',
radius: obj.radius,
center: obj.center,
avoidLabelOverlap: false,
legendHoverLink: false,
hoverAnimation: false,
label: {
normal: {
show: false,
},
emphasis: {
show: false

}
},
labelLine: {
normal: {
show: false
}
},
hoverOffset: 1,
selectedOffset: 1,
data: [{
"name": "",
"value": 0
}],
color: ["#b5c7cd"]
}],
}
return option;
}
//提示框
function message(vue, message, type) {
vue.$notify({
message: message,
position: 'bottom-right',
duration: 2000,
type: type,
customClass: type
});
}

function find(str, cha, num) {
var x = str.indexOf(cha);
for(var i = 0; i < num; i++) { 
x = str.indexOf(cha, x + 1); 
}
return x;
}

function clone(origin) {
return Object.assign({}, origin);
}

js扩展方法(自用)的更多相关文章

  1. JS扩展方法——字符串trim()

    转自:http://www.cnblogs.com/kissdodog/p/3386480.html <head> <title>测试JS扩展方法</title> ...

  2. JS扩展方法

    JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子 ...

  3. JS 扩展方法prototype

    通过类对象的prototype设置扩展方法,下面为String对象增加quote(两边加字符)方法 <script type="text/javascript"> St ...

  4. js扩展方法(数组不重复推入)

    扩展方法是一个很有趣的东西. 使用prototype在原始的类型上添加自己需要的方法.方便在一些常用的情况下使用,比如说字符串的String.trim()清除字符串前后的空格(当然这个方法内置已经有了 ...

  5. Js扩展方法ReplaceAll

    String.prototype.replaceAll = function (reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.i ...

  6. 添加一个js扩展方法

    String.prototype.repeatify=String.prototype.repeatify || function(times){ var str=''; for(var i=0;i& ...

  7. Array js扩展方法 forEach()

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. js一些方法的扩展

    //JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. //下面给出 ...

  9. 扩展JQuery和JS的方法

    //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展            var aClass = function(){} //1 定义这个类的静态方法            aC ...

  10. JS,JQuery的扩展方法

    转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展            ...

随机推荐

  1. 学习笔记:勒让德(Legendre)符号

    授课老师:ybx.chh. 授课时间:2024/3/8. 授课内容纲要:勒让德符号及其性质(欧拉准则,高斯引理,二次互反律). 勒让德符号概括 好像在 OI 和 MO 当中都挺有用的. 勒让德符号的定 ...

  2. redis同步锁的真实应用场景

    一.问题由来 现在正在做的小程序后台中,有一个功能叫做高光时刻,在操作高光时刻的时候,可能会有多个用户来同时想操作这个功能,可是在同一时间只能 有一个用户能够操作.刚开始做的时候,自己的做法是在red ...

  3. arch安装xfce4的时候,出现无法设置开机启动的问题

    sudo systemctl enable lightdm   Failed to enable unit: File /etc/systemd/system/display-manager.serv ...

  4. python getOpenFileNames 获取文件实例解析

    一 概念 选取文件夹 QFileDialog.getExistingDirectory() 选择文件 QFileDialog.getOpenFileName() 选择多个文件 QFileDialog. ...

  5. git clone error: RPC failed; curl 18 transfer closed with outstanding read data remaining

    备忘 git clone比较大的工程时,出现这种错误:error: RPC failed; curl 18 transfer closed with outstanding read data rem ...

  6. JavaScript js 教程 视频教程

    一个完整的JavaScript实现应该由以下三个部分构成: ECMAScript,DOM和BOM 1 特点: JS的特点 解释型语言 类似于 C 和 Java 的语法结构 动态语言 基于原型的面向对象 ...

  7. java生产者消费者模式代码示例

    package test; import java.util.LinkedList; public class Test { public static void main(String[] args ...

  8. python高级技术(网络编程一)

    一  socket是什么 链接socket前要熟悉计算机网络基础请看链接:https://www.cnblogs.com/coderxueshan/p/17344739.html Socket是应用层 ...

  9. 记录--千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 很多前端都喜欢用 console.log 调试,先不谈调试效率怎么样,首先 console.log 有个致命的问题:会导致内存泄漏. 为什 ...

  10. KingbaseES 可更新的视图

    可更新视图 可简化视图可自动更新:系统将允许在视图上使用 INSERT.UPDATE 和 DELETE 语句,就像在常规表上一样.如果视图满足以下所有条件,就是可简化视图,则视图可自动更新: 该视图的 ...