|
@@ -17,6 +17,11 @@ function remove(arr, val) {
|
|
|
* @param {*} b
|
|
|
*/
|
|
|
function isEqual(a,b){
|
|
|
+ var classNameA,
|
|
|
+ classNameB,
|
|
|
+ propsA,
|
|
|
+ propsB,
|
|
|
+ i, j, propName;
|
|
|
|
|
|
if(a===b){
|
|
|
|
|
@@ -27,7 +32,7 @@ function isEqual(a,b){
|
|
|
return a===b;
|
|
|
}
|
|
|
|
|
|
- var classNameA=Object.prototype.toString.call(a),
|
|
|
+ classNameA=Object.prototype.toString.call(a);
|
|
|
classNameB=Object.prototype.toString.call(b);
|
|
|
|
|
|
if(classNameA !== classNameB){
|
|
@@ -50,35 +55,16 @@ function isEqual(a,b){
|
|
|
if(classNameA === '[object Date]' || classNameA === '[object Boolean]') {
|
|
|
return +a === +b;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
if(classNameA === '[object Object]'){
|
|
|
|
|
|
- var propsA = Object.getOwnPropertyNames(a),
|
|
|
+ propsA = Object.getOwnPropertyNames(a);
|
|
|
propsB = Object.getOwnPropertyNames(b);
|
|
|
if(propsA.length !== propsB.length){
|
|
|
return false;
|
|
|
}
|
|
|
- for(var i=0;i<propsA.length;i++){
|
|
|
- var propName=propsA[i];
|
|
|
+ for(i=0;i<propsA.length;i++){
|
|
|
+ propName=propsA[i];
|
|
|
|
|
|
|
|
|
if(!isEqual(a[propName], b[propName])){
|
|
@@ -89,9 +75,8 @@ function isEqual(a,b){
|
|
|
}
|
|
|
|
|
|
if(classNameA === '[object Array]'){
|
|
|
- let i = 0;
|
|
|
- for(i; i < a.length;i++) {
|
|
|
- if(!isEqual(a[i], b[i])) {
|
|
|
+ for(j = 0; j < a.length;j++) {
|
|
|
+ if(!isEqual(a[j], b[j])) {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -252,12 +237,12 @@ function numberFormat(number, decimals, thousands_sep) {
|
|
|
};
|
|
|
|
|
|
function _scientificNotationToString(param) {
|
|
|
- let strParam = String(param);
|
|
|
- let flag = /e/.test(strParam)
|
|
|
+ var strParam = String(param);
|
|
|
+ var flag = /e/.test(strParam)
|
|
|
if (!flag) return strParam
|
|
|
|
|
|
- let positive = true;
|
|
|
- let sysbol = true;
|
|
|
+ var positive = true;
|
|
|
+ var sysbol = true;
|
|
|
if (/^-/.test(strParam)) {
|
|
|
positive = false;
|
|
|
}
|
|
@@ -265,16 +250,30 @@ function _scientificNotationToString(param) {
|
|
|
sysbol = false
|
|
|
}
|
|
|
|
|
|
- let index = Number(strParam.match(/\d+$/)[0])
|
|
|
+ var index = Number(strParam.match(/\d+$/)[0])
|
|
|
|
|
|
- let basis = strParam.match(/^[+-]{0,1}[\d\.]+/)[0].replace(/[+-.]/g, '');
|
|
|
+ var basis = strParam.match(/^[+-]{0,1}[\d\.]+/)[0].replace(/[+-.]/g, '');
|
|
|
|
|
|
- let absNum = sysbol ? basis.padEnd(index + 1, 0) : basis.padStart(index + basis.length, 0).replace(/^0/, '0.');
|
|
|
+ var absNum = sysbol ? basis.padEnd(index + 1, 0) : basis.padStart(index + basis.length, 0).replace(/^0/, '0.');
|
|
|
return (positive ? '' : '-') + absNum;
|
|
|
}
|
|
|
|
|
|
+function base64ToBlob(code) {
|
|
|
+ var parts = code.split(';base64,');
|
|
|
+ var contentType = parts[0].split(':')[1];
|
|
|
+ var raw = window.atob(parts[1]);
|
|
|
+ var rawLength = raw.length;
|
|
|
+
|
|
|
+ var uInt8Array = new Uint8Array(rawLength);
|
|
|
+
|
|
|
+ for (var i = 0; i < rawLength; ++i) {
|
|
|
+ uInt8Array[i] = raw.charCodeAt(i);
|
|
|
+ }
|
|
|
+ return new Blob([uInt8Array], {type: contentType});
|
|
|
+}
|
|
|
+
|
|
|
;exports = module.exports = (function(){
|
|
|
return { remove, isEqual, getUrlParam, hashcode, delay, dateFormat, arrayToTree, arrayEquals, deepAssign,
|
|
|
- HexToRGB, RGBToHex, numberFormat
|
|
|
+ HexToRGB, RGBToHex, numberFormat, base64ToBlob
|
|
|
}
|
|
|
})();
|