Comparing version 1.5.4 to 1.5.5
@@ -1,8 +0,11 @@ | ||
/*! | ||
* xe-utils.js v1.5.4 | ||
/** | ||
* xe-utils.js v1.5.5 | ||
* (c) 2017-2018 Xu Liangzhan | ||
* ISC License. | ||
* @preserve | ||
*/ | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global.XEUtils = factory()) | ||
typeof s === 'object' && typeof module !== 'undefined' ? module.s = factory() | ||
: typeof define === 'function' && define.amd ? define(factory) | ||
: (global.XEUtils = factory()) | ||
}(this, function () { | ||
@@ -858,9 +861,9 @@ 'use strict' | ||
var dates = [] | ||
arrayEach([{rules: [['yyyy', 4], ['yyy', 3], ['yy', 2]]}, | ||
{rules: [['MM', 2], ['M', 1]], offset: -1}, | ||
{rules: [['dd', 2], ['d', 1]]}, | ||
{rules: [['HH', 2], ['H', 1]]}, | ||
{rules: [['mm', 2], ['m', 1]]}, | ||
{rules: [['ss', 2], ['s', 1]]}, | ||
{rules: [['SSS', 3], ['SS', 2], ['S', 1]]}], function (item) { | ||
arrayEach([{ rules: [['yyyy', 4], ['yyy', 3], ['yy', 2]] }, | ||
{ rules: [['MM', 2], ['M', 1]], offset: -1 }, | ||
{ rules: [['dd', 2], ['d', 1]] }, | ||
{ rules: [['HH', 2], ['H', 1]] }, | ||
{ rules: [['mm', 2], ['m', 1]] }, | ||
{ rules: [['ss', 2], ['s', 1]] }, | ||
{ rules: [['SSS', 3], ['SS', 2], ['S', 1]] }], function (item) { | ||
for (var arr, sIndex, index = 0, rules = item.rules, len = rules.length; index < len; index++) { | ||
@@ -891,28 +894,31 @@ arr = rules[index] | ||
function dateToString (date, format) { | ||
date = stringToDate(date) | ||
if (isDate(date)) { | ||
var result = format || 'yyyy-MM-dd HH:mm:ss' | ||
var weeks = ['日', '一', '二', '三', '四', '五', '六'] | ||
var resDate = { | ||
'q+': Math.floor((date.getMonth() + 3) / 3), | ||
'M+': date.getMonth() + 1, | ||
'E+': date.getDay(), | ||
'd+': date.getDate(), | ||
'H+': date.getHours(), | ||
'm+': date.getMinutes(), | ||
's+': date.getSeconds(), | ||
'S': date.getMilliseconds() | ||
if (date) { | ||
date = stringToDate(date) | ||
if (isDate(date)) { | ||
var result = format || 'yyyy-MM-dd HH:mm:ss' | ||
var weeks = ['日', '一', '二', '三', '四', '五', '六'] | ||
var resDate = { | ||
'q+': Math.floor((date.getMonth() + 3) / 3), | ||
'M+': date.getMonth() + 1, | ||
'E+': date.getDay(), | ||
'd+': date.getDate(), | ||
'H+': date.getHours(), | ||
'm+': date.getMinutes(), | ||
's+': date.getSeconds(), | ||
'S': date.getMilliseconds() | ||
} | ||
if (/(y+)/.test(result)) { | ||
result = result.replace(RegExp.$1, ('' + date.getFullYear()).substr(4 - RegExp.$1.length)) | ||
} | ||
arrayEach(objectKeys(resDate), function (key) { | ||
if (new RegExp('(' + key + ')').test(result)) { | ||
var val = '' + resDate[key] | ||
result = result.replace(RegExp.$1, (key === 'q+' || key === 'E+') ? weeks[val] : (RegExp.$1.length === 1 ? val : ('00' + val).substr(val.length))) | ||
} | ||
}) | ||
return result | ||
} | ||
if (/(y+)/.test(result)) { | ||
result = result.replace(RegExp.$1, ('' + date.getFullYear()).substr(4 - RegExp.$1.length)) | ||
} | ||
arrayEach(objectKeys(resDate), function (key) { | ||
if (new RegExp('(' + key + ')').test(result)) { | ||
var val = '' + resDate[key] | ||
result = result.replace(RegExp.$1, (key === 'q+' || key === 'E+') ? weeks[val] : (RegExp.$1.length === 1 ? val : ('00' + val).substr(val.length))) | ||
} | ||
}) | ||
return result | ||
return date | ||
} | ||
return date | ||
return '' | ||
} | ||
@@ -1108,2 +1114,92 @@ | ||
var coreMethods = { | ||
isNaN: isNaN, | ||
isFinite: isFinite, | ||
isFloat: isFloat, | ||
isInteger: isInteger, | ||
isFunction: isFunction, | ||
isBoolean: isBoolean, | ||
isString: isString, | ||
isRegExp: isRegExp, | ||
isObject: isObject, | ||
isError: isError, | ||
isTypeError: isTypeError, | ||
isEmpty: isEmpty, | ||
isNull: isNull, | ||
isSymbol: isSymbol, | ||
isArguments: isArguments, | ||
isElement: isElement, | ||
isDocument: isDocument, | ||
isWindow: isWindow, | ||
isFormData: isFormData, | ||
isLeapYear: isLeapYear, | ||
getType: getType, | ||
uniqueId: uniqueId, | ||
getSize: getSize, | ||
lastIndexOf: lastIndexOf, | ||
includes: includes, | ||
contains: contains, | ||
objectAssign: objectAssign, | ||
assign: assign, | ||
extend: extend, | ||
stringToJson: stringToJson, | ||
jsonToString: jsonToString, | ||
objectKeys: objectKeys, | ||
keys: keys, | ||
objectValues: objectValues, | ||
values: values, | ||
objectEntries: objectEntries, | ||
entries: entries, | ||
arrayFirst: arrayFirst, | ||
first: first, | ||
arrayLast: arrayLast, | ||
last: last, | ||
objectEach: objectEach, | ||
arrayEach: arrayEach, | ||
each: each, | ||
groupBy: groupBy, | ||
objectMap: objectMap, | ||
clone: clone, | ||
arrayUniq: arrayUniq, | ||
uniq: uniq, | ||
arrayUnion: arrayUnion, | ||
union: union, | ||
arraySort: arraySort, | ||
sort: sort, | ||
arrayShuffle: arrayShuffle, | ||
shuffle: shuffle, | ||
arraySample: arraySample, | ||
sample: sample, | ||
arraySome: arraySome, | ||
some: some, | ||
arrayEvery: arrayEvery, | ||
every: every, | ||
arrayFilter: arrayFilter, | ||
filter: filter, | ||
arrayFind: arrayFind, | ||
find: find, | ||
arrayMap: arrayMap, | ||
map: map, | ||
timestamp: timestamp, | ||
now: now, | ||
stringToDate: stringToDate, | ||
dateToString: dateToString, | ||
getWhatMonth: getWhatMonth, | ||
getWhatWeek: getWhatWeek, | ||
getWhatDay: getWhatDay, | ||
getDaysOfMonth: getDaysOfMonth, | ||
getDateDiff: getDateDiff, | ||
escape: escape, | ||
unescape: unescape, | ||
getRandom: getRandom, | ||
arrayMin: arrayMin, | ||
min: min, | ||
arrayMax: arrayMax, | ||
max: max | ||
} | ||
/** | ||
@@ -1138,3 +1234,3 @@ * 获取浏览器内核 | ||
} else if (arguments.length > 1) { | ||
inserts = [objectAssign({name: name, value: value}, options)] | ||
inserts = [objectAssign({ name: name, value: value }, options)] | ||
} else if (isObject(name)) { | ||
@@ -1150,3 +1246,3 @@ inserts = [name] | ||
if (opts.expires !== undefined) { | ||
opts.expires = new Date(timestamp() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
opts.expires = new Date(new Date().getTime() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
} | ||
@@ -1181,3 +1277,3 @@ arrayEach(['expires', 'path', 'domain', 'secure'], function (key) { | ||
removeItem: function (name) { | ||
cookie(name, null, {expires: -1}) | ||
cookie(name, null, { expires: -1 }) | ||
}, | ||
@@ -1225,4 +1321,10 @@ getJSON: function () { | ||
function XEUtils () {} | ||
var browseMethods = { | ||
browse: browse, | ||
cookie: cookie, | ||
locat: locat | ||
} | ||
function XEUtils () { } | ||
/** | ||
@@ -1234,6 +1336,6 @@ * 函数扩展 | ||
function mixin (methods) { | ||
objectEach(methods, function (fn, name) { | ||
XEUtils[name] = isFunction(fn) ? function () { | ||
var result = fn.apply(XEUtils.context, arguments) | ||
XEUtils.context = null | ||
coreMethods.objectEach(methods, function (fn, name) { | ||
XEUtils[name] = coreMethods.isFunction(fn) ? function () { | ||
var result = fn.apply(XEUtils.$context, arguments) | ||
XEUtils.$context = null | ||
return result | ||
@@ -1244,12 +1346,12 @@ } : fn | ||
mixin({ | ||
isNaN: isNaN, isFinite: isFinite, isArray: isArray, isFloat: isFloat, isInteger: isInteger, isFunction: isFunction, isBoolean: isBoolean, isString: isString, isNumber: isNumber, isRegExp: isRegExp, isObject: isObject, isPlainObject: isPlainObject, isDate: isDate, isError: isError, isTypeError: isTypeError, isEmpty: isEmpty, isNull: isNull, isSymbol: isSymbol, isArguments: isArguments, isElement: isElement, isDocument: isDocument, isWindow: isWindow, isFormData: isFormData, isLeapYear: isLeapYear, getType: getType, uniqueId: uniqueId, getSize: getSize, indexOf: indexOf, lastIndexOf: lastIndexOf, includes: includes, contains: contains, objectAssign: objectAssign, assign: assign, extend: extend, stringToJson: stringToJson, jsonToString: jsonToString, objectKeys: objectKeys, keys: keys, objectValues: objectValues, values: values, objectEntries: objectEntries, entries: entries, arrayFirst: arrayFirst, first: first, arrayLast: arrayLast, last: last, objectEach: objectEach, arrayEach: arrayEach, each: each, groupBy: groupBy, objectMap: objectMap, clone: clone, arrayUniq: arrayUniq, uniq: uniq, arrayUnion: arrayUnion, union: union, arraySort: arraySort, sort: sort, arrayShuffle: arrayShuffle, shuffle: shuffle, arraySample: arraySample, sample: sample, arraySome: arraySome, some: some, arrayEvery: arrayEvery, every: every, arrayFilter: arrayFilter, filter: filter, arrayFind: arrayFind, find: find, arrayMap: arrayMap, map: map, timestamp: timestamp, now: now, stringToDate: stringToDate, dateToString: dateToString, getWhatMonth: getWhatMonth, getWhatWeek: getWhatWeek, getWhatDay: getWhatDay, getDaysOfMonth: getDaysOfMonth, getDateDiff: getDateDiff, escape: escape, unescape: unescape, getRandom: getRandom, arrayMin: arrayMin, min: min, arrayMax: arrayMax, max: max | ||
coreMethods.objectAssign(XEUtils, { | ||
mixin: mixin, | ||
version: '1.5.5', | ||
$name: 'XEUtils' | ||
}) | ||
mixin({ | ||
browse: browse, cookie: cookie, locat: locat | ||
}) | ||
XEUtils.mixin = mixin | ||
XEUtils.version = '1.5.4' | ||
mixin(coreMethods) | ||
mixin(browseMethods) | ||
return XEUtils | ||
})) |
@@ -1,8 +0,7 @@ | ||
/*! | ||
* xe-utils.js v1.5.4 | ||
/** | ||
* xe-utils.js v1.5.5 | ||
* (c) 2017-2018 Xu Liangzhan | ||
* ISC License. | ||
* @preserve | ||
*/ | ||
(function(b,a){typeof exports==="object"&&typeof module!=="undefined"?module.exports=a():typeof define==="function"&&define.amd?define(a):(b.XEUtils=a())}(this,function(){var Z=window.isNaN;var aK=window.isFinite;var b=Array.isArray||function(a2){return Object.prototype.toString.call(a2)==="[object Array]"};function f(a2){return a2!==null&&!Z(a2)&&!Y(a2)}var Y=Number.isInteger;function aE(a2){return typeof a2==="function"}function aI(a2){return typeof a2==="boolean"}function aO(a2){return typeof a2==="string"}function Q(a2){return typeof a2==="number"}function at(a2){return a2?a2.constructor===RegExp:false}function I(a2){return typeof a2==="object"}function G(a2){return a2?a2.constructor===Object:false}function g(a2){return a2?a2.constructor===Date:false}function c(a2){return a2?a2.constructor===Error:false}function an(a2){return a2?a2.constructor===TypeError:false}function l(a3){if(a3===0||!Q(a3)){for(var a2 in a3){return false}return true}return false}function aX(a2){return a2===null}function aJ(a2){return typeof Symbol!=="undefined"&&Symbol.isSymbol?Symbol.isSymbol(a2):(typeof a2==="symbol")}function d(a2){return String(a2)==="[object Arguments]"}function ai(a2){return a2&&aO(a2.nodeName)&&Q(a2.nodeType)}function aN(a2){return a2&&a2.nodeType===9}function O(a2){return a2&&a2===a2.window}function aV(a2){return typeof FormData!=="undefined"&&a2 instanceof FormData}function am(a3){var a2=a3?A(a3):new Date();var a4=a2.getFullYear();return(a4%4===0)&&(a4%100!==0||a4%400===0)}function x(a2){if(a2===null){return""+a2}if(aJ(a2)){return"symbol"}if(g(a2)){return"date"}if(b(a2)){return"array"}return typeof a2}var H=0;function ab(){return ++H}function k(a3){var a2=0;if(aO(a3)||b(a3)){return a3.length}aY(a3,function(){a2++});return a2}function ar(a2){return function(a4,a5){if(a4){if(aO(a4)||b(a4)){return a2(a4,a5)}for(var a3 in a4){if(a5===a4[a3]){return a3}}}return -1}}var m=ar(function(a4,a5){if(a4.indexOf){return a4.indexOf(a5)}for(var a3=0,a2=a4.length;a3<a2;a3++){if(a5===a4[a3]){return a3}}});var aA=ar(function(a3,a4){if(a3.lastIndexOf){return a3.lastIndexOf(a4)}for(var a2=a3.length-1;a2>=0;a2--){if(a4===a3[a2]){return a2}}return -1});function J(a2,a3){return m(a2,a3)!==-1}var U=J;var a1=Object.assign||function(a5){if(a5){for(var a4,a3=1,a2=arguments.length;a3<a2;a3++){a4=arguments[a3];aw(v(arguments[a3]),function(a6){a5[a6]=a4[a6]})}}return a5};var aH=a1;var aa=a1;function ae(a3){if(I(a3)){return a3}else{if(aO(a3)){try{return JSON.parse(a3)}catch(a2){console.error(a2)}}}return{}}function az(a3){if(I(a3)){try{return JSON.stringify(a3)}catch(a2){console.error(a2)}}return a3?""+a3:""}function v(a3){var a2=[];if(a3){if(Object.keys){return Object.keys(a3)}aB(a3,function(a5,a4){a2.push(a4)})}return a2}var M=v;function P(a3){if(Object.values){return a3?Object.values(a3):[]}var a2=[];aw(v(a3),function(a4){a2.push(a3[a4])});return a2}var B=P;function aG(a3){if(Object.entries){return a3?Object.entries(a3):[]}var a2=[];aw(v(a3),function(a4){a2.push([a4,a3[a4]])});return a2}var aQ=aG;function o(a2){return P(a2)[0]}var al=o;function E(a3){var a2=P(a3);return a2[a2.length-1]}var V=E;function aB(a4,a5,a3){for(var a2 in a4){if(a4.hasOwnProperty(a2)){a5.call(a3||this,a4[a2],a2,a4)}}}function aw(a5,a6,a4){for(var a3=0,a2=a5.length||0;a3<a2;a3++){a6.call(a4||this,a5[a3],a3,a5)}}function aY(a3,a4,a2){if(a3){if(b(a3)){if(aE(a3.forEach)){return a3.forEach(a4,a2||this)}return aw(a3,a4,a2||this)}return aB(a3,a4,a2||this)}return a3}function ad(a6,a7,a5){var a4,a3;var a2={};if(a6){if(aO(a7)){a3=a7;a7=null}else{if(aE(a7)){a7=a7.bind(a5||this)}else{a7=a3=null}}aY(a6,function(a9,a8){a4=a7?a7(a9,a8,a6):(a3?a9[a3]:a9);if(a2[a4]){a2[a4].push(a9)}else{a2[a4]=[a9]}})}return a2}function s(a4,a5,a3){var a2={};aY(a4,function(a7,a6){a2[a6]=a5.call(a3||this,a7,a6,a4)});return a2}function u(a3){var a2={};aY(a3,function(a5,a4){a2[a4]=ao(a5)});return a2}function a(a2){return aD(a2,function(a4,a3){return ao(a4)})}function ao(a2){return G(a2)?u(a2):b(a2)?a(a2):a2}function C(a3,a2){return a2?ao(a3):a1(G(a3)?{}:[],a3)}function av(a3){var a2=[];if(b(a3)){aw(a3,function(a4){if(!a2.includes(a4)){a2.push(a4)}})}return a2}var aW=av;function R(){var a3=[];for(var a4=0,a2=arguments.length;a4<a2;a4++){a3=a3.concat(arguments[a4])}return av(a3)}var aR=R;function r(a2,a4,a3){if(b(a2)){return a2.sort(a4?aE(a4)?a4.bind(a3||this):function(a6,a5){return a6[a4]>a5[a4]?1:-1}:function(a6,a5){return a6>a5?1:-1})}return a2}var N=r;function n(a6){var a3=[];for(var a5=P(a6),a2=a5.length-1;a2>=0;a2--){var a4=a2>0?L(0,a2):0;a3.push(a5[a4]);a5.splice(a4,1)}return a3}var j=n;function ac(a4,a3){var a2=n(a4);if(arguments.length===1){return a2[0]}if(a3<a2.length){a2.length=a3||0}return a2}var aS=ac;function i(a4,a5,a3){if(a4){if(b(a4)){return a4.some(a5,a3||this)}else{for(var a2 in a4){if(a4.hasOwnProperty(a2)){if(a5.call(a3||this,a4[a2],a2,a4)){return true}}}}}return false}var D=i;function y(a4,a5,a3){if(a4){if(b(a4)){return a4.every(a5,a3||this) | ||
}else{for(var a2 in a4){if(a4.hasOwnProperty(a2)){if(!a5.call(a3||this,a4[a2],a2,a4)){return false}}}}}return true}var aq=y;function a0(a4,a5,a3){if(a4){if(b(a4)){return a4.filter(a5,a3||this)}else{var a2={};aY(a4,function(a7,a6){if(a5.call(a3||this,a7,a6,a4)){a2[a6]=a7}});return a2}}return[]}var F=a0;function ay(a4,a5,a3){if(a4){if(b(a4)){return a4.find(a5,a3||this)}else{for(var a2 in a4){if(a4.hasOwnProperty(a2)){if(a5.call(a3||this,a4[a2],a2,a4)){return a4[a2]}}}}}}var aZ=ay;function aD(a4,a5,a3){var a2=[];if(a4){if(b(a4)){return a4.map(a5,a3||this)}else{aY(a4,function(){a2.push(a5.apply(a3||this,arguments))})}}return a2}var w=aD;var aj=Date.now||function(){return new Date().getTime()};var aL=aj;function A(a4,a3){if(a4){if(g(a4)){return a4}if(!Z(a4)){return new Date(a4)}if(aO(a4)){a3=a3||"yyyy-MM-dd HH:mm:ss.SSS";var a2=[];aw([{rules:[["yyyy",4],["yyy",3],["yy",2]]},{rules:[["MM",2],["M",1]],offset:-1},{rules:[["dd",2],["d",1]]},{rules:[["HH",2],["H",1]]},{rules:[["mm",2],["m",1]]},{rules:[["ss",2],["s",1]]},{rules:[["SSS",3],["SS",2],["S",1]]}],function(a9){for(var a6,a8,a7=0,ba=a9.rules,a5=ba.length;a7<a5;a7++){a6=ba[a7];a8=a3.indexOf(a6[0]);if(a8>-1){a2.push(parseFloat(a4.substring(a8,a8+a6[1])||0)+(a9.offset||0));break}else{if(a7===a5-1){a2.push(0)}}}});return new Date(a2[0],a2[1],a2[2],a2[3],a2[4],a2[5],a2[6])}}return"Invalid Date"}function ak(a4,a6){a4=A(a4);if(g(a4)){var a3=a6||"yyyy-MM-dd HH:mm:ss";var a5=["日","一","二","三","四","五","六"];var a2={"q+":Math.floor((a4.getMonth()+3)/3),"M+":a4.getMonth()+1,"E+":a4.getDay(),"d+":a4.getDate(),"H+":a4.getHours(),"m+":a4.getMinutes(),"s+":a4.getSeconds(),"S":a4.getMilliseconds()};if(/(y+)/.test(a3)){a3=a3.replace(RegExp.$1,(""+a4.getFullYear()).substr(4-RegExp.$1.length))}aw(v(a2),function(a7){if(new RegExp("("+a7+")").test(a3)){var a8=""+a2[a7];a3=a3.replace(RegExp.$1,(a7==="q+"||a7==="E+")?a5[a8]:(RegExp.$1.length===1?a8:("00"+a8).substr(a8.length)))}});return a3}return a4}function X(a4,a9,a8){var a3=A(a4);var a5=a9&&!Z(a9)?a9:0;var ba=a3.getHours();var bf=a3.getMinutes();var bb=a3.getSeconds();var a2=a3.getMilliseconds();if(a8==="first"){var bd=a3.getFullYear();var a6=a3.getMonth();if((a6+=a5)<0){return new Date(bd-Math.ceil((a6=Math.abs(a6))/12),12-(a6%12||1),1,ba,bf,bb,a2)}return new Date(bd+Math.floor(a6/12),a6%12,1,ba,bf,bb,a2)}else{if(a8==="last"){return new Date(X(a3,a5+1,"first").getTime()-86400000)}}var bc=a3.getDate();var be=X(a3,a5,"first");var a7=be.getMonth();be.setDate(bc);while(a7<be.getMonth()){be.setDate(--bc)}return be}function aU(a3,a4,a8){var a6=Number(/^[0-7]$/.test(a8)?a8:0);var a2=A(a3);var a5=a2.getDay();var a7=a2.getTime();var a9=a7+((a6===0?7:a6)-(a5===0?7:a5))*86400000;if(a4&&!Z(a4)){a9+=a4*604800000}return new Date(a9)}function aF(a3,a2){return new Date(A(a3).getTime()+(a2&&!Z(a2)?a2*86400000:0))}function t(a2,a3){return Math.floor((X(a2,a3,"last").getTime()-X(a2,a3,"first").getTime())/86400000)+1}function K(a3,a4,a9){var bc={};var a2=A(a3).getTime();var a5=a4?A(a4).getTime():new Date();if(a2<a5){var bb;var ba=a5-a2;var a8=a9&&a9.length>0?a9:[["yyyy",31536000000],["MM",2592000000],["dd",86400000],["HH",3600000],["mm",60000],["ss",1000],["S",0]];for(var a7=0,a6=a8.length;a7<a6;a7++){bb=a8[a7];if(ba>=bb[1]){if(a7===a6-1){if(ba){bc[bb[0]]=ba}}else{bc[bb[0]]=Math.floor(ba/bb[1]);ba-=bc[bb[0]]*bb[1]}}}}return bc}var z={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var ag={};aw(v(z),function(a2){ag[z[a2]]=a2});function e(a2){var a3=new RegExp("(?:"+v(a2).join("|")+")","g");return function(a4){return String(a4||"").replace(a3,function(a5){return a2[a5]})}}var aM=e(z);var aP=e(ag);function L(a3,a2){return a3>=a2?a3:((a3=a3>>0)+Math.round(Math.random()*((a2||9)-a3)))}function q(a2,a3){return(aE(a3)?r(aD(a2,a3,this)):r(a2,a3))}function W(){return q.apply(this,arguments)[0]}var aT=W;function ax(){return q.apply(this,arguments).reverse()[0]}var p=ax;function au(){var a2={};var a3=document.body||document.documentElement;aw(["webkit","khtml","moz","ms","o"],function(a4){a2["-"+a4]=!!a3[a4+"MatchesSelector"]});return a2}function T(a4,a6,a3){var a5=[];if(b(a4)){a5=a4}else{if(arguments.length>1){a5=[a1({name:a4,value:a6},a3)]}else{if(I(a4)){a5=[a4]}}}if(a5.length>0){aw(a5,function(a9){var a8=a1({},a9);var a7=[];if(a8.name){a7.push(encodeURIComponent(a8.name)+"="+encodeURIComponent(JSON.stringify(a8.value)));if(a8.expires!==undefined){a8.expires=new Date(aj()+parseFloat(a8.expires)*86400000).toUTCString()}aw(["expires","path","domain","secure"],function(ba){if(a8[ba]!==undefined){a7.push(ba+"="+a8[ba])}})}document.cookie=a7.join("; ")})}else{var a2={};if(document.cookie){aw(document.cookie.split("; "),function(a8){var a7=a8.split("=");a2[decodeURIComponent(a7[0])]=decodeURIComponent(a7[1]||"")})}return arguments.length===1?a2[a4]:a2}}a1(T,{setItem:function(a2,a3){T(a2,a3)},getItem:function(a2){return T(a2)},removeItem:function(a2){T(a2,null,{expires:-1})},getJSON:function(){return T()}});var ap=location;function S(){return(ap.hash.split("#")[1]||"").split("?")[0]||"" | ||
}function ah(a3){var a2={};var a4=a3.split("?")[1]||"";if(a4){aw(a4.split("&"),function(a6){var a5=a6.split("=");a2[decodeURIComponent(a5[0])]=decodeURIComponent(a5[1]||"")})}return a2}function h(){return{port:ap.port,href:ap.href,host:ap.host,hostname:ap.hostname,protocol:ap.protocol,origin:ap.origin,hash:S(),query:ah(ap.hash),params:ah(ap.search)}}function af(){}function aC(a2){aB(a2,function(a4,a3){af[a3]=aE(a4)?function(){var a5=a4.apply(af.context,arguments);af.context=null;return a5}:a4})}aC({isNaN:Z,isFinite:aK,isArray:b,isFloat:f,isInteger:Y,isFunction:aE,isBoolean:aI,isString:aO,isNumber:Q,isRegExp:at,isObject:I,isPlainObject:G,isDate:g,isError:c,isTypeError:an,isEmpty:l,isNull:aX,isSymbol:aJ,isArguments:d,isElement:ai,isDocument:aN,isWindow:O,isFormData:aV,isLeapYear:am,getType:x,uniqueId:ab,getSize:k,indexOf:m,lastIndexOf:aA,includes:J,contains:U,objectAssign:a1,assign:aH,extend:aa,stringToJson:ae,jsonToString:az,objectKeys:v,keys:M,objectValues:P,values:B,objectEntries:aG,entries:aQ,arrayFirst:o,first:al,arrayLast:E,last:V,objectEach:aB,arrayEach:aw,each:aY,groupBy:ad,objectMap:s,clone:C,arrayUniq:av,uniq:aW,arrayUnion:R,union:aR,arraySort:r,sort:N,arrayShuffle:n,shuffle:j,arraySample:ac,sample:aS,arraySome:i,some:D,arrayEvery:y,every:aq,arrayFilter:a0,filter:F,arrayFind:ay,find:aZ,arrayMap:aD,map:w,timestamp:aj,now:aL,stringToDate:A,dateToString:ak,getWhatMonth:X,getWhatWeek:aU,getWhatDay:aF,getDaysOfMonth:t,getDateDiff:K,escape:aM,unescape:aP,getRandom:L,arrayMin:W,min:aT,arrayMax:ax,max:p});aC({browse:au,cookie:T,locat:h});af.mixin=aC;af.version="1.5.4";return af})); | ||
!function(n,t){"object"==typeof s&&"undefined"!=typeof module?module.s=t():"function"==typeof define&&define.amd?define(t):n.XEUtils=t()}(this,function(){"use strict";function n(n){return"function"==typeof n}function t(n){return"string"==typeof n}function e(n){return"number"==typeof n}function r(n){return"object"==typeof n}function i(n){return!!n&&n.constructor===Object}function o(n){return!!n&&n.constructor===Date}function u(n){return"undefined"!=typeof Symbol&&Symbol.isSymbol?Symbol.isSymbol(n):"symbol"==typeof n}function a(n){return function(e,r){if(e){if(t(e)||W(e))return n(e,r);for(var i in e)if(r===e[i])return i}return-1}}function f(n,t){return-1!==z(n,t)}function c(n){var t=[];if(n){if(Object.keys)return Object.keys(n);y(n,function(n,e){t.push(e)})}return t}function s(n){if(Object.values)return n?Object.values(n):[];var t=[];return g(c(n),function(e){t.push(n[e])}),t}function l(n){if(Object.entries)return n?Object.entries(n):[];var t=[];return g(c(n),function(e){t.push([e,n[e]])}),t}function h(n){return s(n)[0]}function p(n){var t=s(n);return t[t.length-1]}function y(n,t,e){for(var r in n)n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n)}function g(n,t,e){for(var r=0,i=n.length||0;r<i;r++)t.call(e||this,n[r],r,n)}function m(t,e,r){return t?W(t)?n(t.forEach)?t.forEach(e,r||this):g(t,e,r||this):y(t,e,r||this):t}function d(n){return i(n)?function(n){var t={};return m(n,function(n,e){t[e]=d(n)}),t}(n):W(n)?function(n){return O(n,function(n,t){return d(n)})}(n):n}function v(n){var t=[];return W(n)&&g(n,function(n){t.includes(n)||t.push(n)}),t}function b(){for(var n=[],t=0,e=arguments.length;t<e;t++)n=n.concat(arguments[t]);return v(n)}function S(t,e,r){return W(t)?t.sort(e?n(e)?e.bind(r||this):function(n,t){return n[e]>t[e]?1:-1}:function(n,t){return n>t?1:-1}):t}function M(n){for(var t=[],e=s(n),r=e.length-1;r>=0;r--){var i=r>0?R(0,r):0;t.push(e[i]),e.splice(i,1)}return t}function D(n,t){var e=M(n);return 1===arguments.length?e[0]:(t<e.length&&(e.length=t||0),e)}function w(n,t,e){if(n){if(W(n))return n.some(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n))return!0}return!1}function x(n,t,e){if(n){if(W(n))return n.every(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&!t.call(e||this,n[r],r,n))return!1}return!0}function E(n,t,e){if(n){if(W(n))return n.filter(t,e||this);var r={};return m(n,function(i,o){t.call(e||this,i,o,n)&&(r[o]=i)}),r}return[]}function j(n,t,e){if(n){if(W(n))return n.find(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n))return n[r]}}function O(n,t,e){var r=[];if(n){if(W(n))return n.map(t,e||this);m(n,function(){r.push(t.apply(e||this,arguments))})}return r}function T(n,e){if(n){if(o(n))return n;if(!C(n))return new Date(n);if(t(n)){e=e||"yyyy-MM-dd HH:mm:ss.SSS";var r=[];return g([{rules:[["yyyy",4],["yyy",3],["yy",2]]},{rules:[["MM",2],["M",1]],offset:-1},{rules:[["dd",2],["d",1]]},{rules:[["HH",2],["H",1]]},{rules:[["mm",2],["m",1]]},{rules:[["ss",2],["s",1]]},{rules:[["SSS",3],["SS",2],["S",1]]}],function(t){for(var i,o,u=0,a=t.rules,f=a.length;u<f;u++){if(i=a[u],(o=e.indexOf(i[0]))>-1){r.push(parseFloat(n.substring(o,o+i[1])||0)+(t.offset||0));break}u===f-1&&r.push(0)}}),new Date(r[0],r[1],r[2],r[3],r[4],r[5],r[6])}}return"Invalid Date"}function F(n,t,e){var r=T(n),i=t&&!C(t)?t:0,o=r.getHours(),u=r.getMinutes(),a=r.getSeconds(),f=r.getMilliseconds();if("first"===e){var c=r.getFullYear(),s=r.getMonth();return(s+=i)<0?new Date(c-Math.ceil((s=Math.abs(s))/12),12-(s%12||1),1,o,u,a,f):new Date(c+Math.floor(s/12),s%12,1,o,u,a,f)}if("last"===e)return new Date(F(r,i+1,"first").getTime()-864e5);var l=r.getDate(),h=F(r,i,"first"),p=h.getMonth();for(h.setDate(l);p<h.getMonth();)h.setDate(--l);return h}function I(n){var t=new RegExp("(?:"+c(n).join("|")+")","g");return function(e){return String(e||"").replace(t,function(t){return n[t]})}}function R(n,t){return n>=t?n:(n>>=0)+Math.round(Math.random()*((t||9)-n))}function H(t,e){return n(e)?S(O(t,e,this)):S(t,e)}function N(){return H.apply(this,arguments)[0]}function k(){return H.apply(this,arguments).reverse()[0]}function U(n,t,e){var i=[];if(W(n)?i=n:arguments.length>1?i=[X({name:n,value:t},e)]:r(n)&&(i=[n]),!(i.length>0)){var o={};return document.cookie&&g(document.cookie.split("; "),function(n){var t=n.split("=");o[decodeURIComponent(t[0])]=decodeURIComponent(t[1]||"")}),1===arguments.length?o[n]:o}g(i,function(n){var t=X({},n),e=[];t.name&&(e.push(encodeURIComponent(t.name)+"="+encodeURIComponent(JSON.stringify(t.value))),void 0!==t.expires&&(t.expires=new Date((new Date).getTime()+864e5*parseFloat(t.expires)).toUTCString()),g(["expires","path","domain","secure"],function(n){void 0!==t[n]&&e.push(n+"="+t[n])})),document.cookie=e.join("; ")})}function $(n){var t={},e=n.split("?")[1]||"";return e&&g(e.split("&"),function(n){var e=n.split("=");t[decodeURIComponent(e[0])]=decodeURIComponent(e[1]||"")}),t}function q(){}function A(n){vn.objectEach(n,function(n,t){q[t]=vn.isFunction(n)?function(){var t=n.apply(q.$context,arguments);return q.$context=null,t}:n})}var C=window.isNaN,J=window.isFinite,W=Array.isArray||function(n){return"[object Array]"===Object.prototype.toString.call(n)},P=Number.isInteger,Y=0,z=a(function(n,t){if(n.indexOf)return n.indexOf(t);for(var e=0,r=n.length;e<r;e++)if(t===n[e])return e}),B=a(function(n,t){if(n.lastIndexOf)return n.lastIndexOf(t);for(var e=n.length-1;e>=0;e--)if(t===n[e])return e;return-1}),L=f,X=Object.assign||function(n){if(n)for(var t,e=1,r=arguments.length;e<r;e++)t=arguments[e],g(c(arguments[e]),function(e){n[e]=t[e]});return n},K=X,V=X,G=c,Q=s,Z=l,_=h,nn=p,tn=v,en=b,rn=S,on=M,un=D,an=w,fn=x,cn=E,sn=j,ln=O,hn=Date.now||function(){return(new Date).getTime()},pn=hn,yn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},gn={};g(c(yn),function(n){gn[yn[n]]=n});var mn=I(yn),dn=I(gn),vn={isNaN:C,isFinite:J,isFloat:function(n){return null!==n&&!C(n)&&!P(n)},isInteger:P,isFunction:n,isBoolean:function(n){return"boolean"==typeof n},isString:t,isRegExp:function(n){return!!n&&n.constructor===RegExp},isObject:r,isError:function(n){return!!n&&n.constructor===Error},isTypeError:function(n){return!!n&&n.constructor===TypeError},isEmpty:function(n){if(0===n||!e(n)){for(var t in n)return!1;return!0}return!1},isNull:function(n){return null===n},isSymbol:u,isArguments:function(n){return"[object Arguments]"===String(n)},isElement:function(n){return n&&t(n.nodeName)&&e(n.nodeType)},isDocument:function(n){return n&&9===n.nodeType},isWindow:function(n){return n&&n===n.window},isFormData:function(n){return"undefined"!=typeof FormData&&n instanceof FormData},isLeapYear:function(n){var t=(n?T(n):new Date).getFullYear();return t%4==0&&(t%100!=0||t%400==0)},getType:function(n){return null===n?""+n:u(n)?"symbol":o(n)?"date":W(n)?"array":typeof n},uniqueId:function(){return++Y},getSize:function(n){var e=0;return t(n)||W(n)?n.length:(m(n,function(){e++}),e)},lastIndexOf:B,includes:f,contains:L,objectAssign:X,assign:K,extend:V,stringToJson:function(n){if(r(n))return n;if(t(n))try{return JSON.parse(n)}catch(n){console.error(n)}return{}},jsonToString:function(n){if(r(n))try{return JSON.stringify(n)}catch(n){console.error(n)}return n?""+n:""},objectKeys:c,keys:G,objectValues:s,values:Q,objectEntries:l,entries:Z,arrayFirst:h,first:_,arrayLast:p,last:nn,objectEach:y,arrayEach:g,each:m,groupBy:function(e,r,i){var o,u,a={};return e&&(t(r)?(u=r,r=null):r=n(r)?r.bind(i||this):u=null,m(e,function(n,t){o=r?r(n,t,e):u?n[u]:n,a[o]?a[o].push(n):a[o]=[n]})),a},objectMap:function(n,t,e){var r={};return m(n,function(i,o){r[o]=t.call(e||this,i,o,n)}),r},clone:function(n,t){return t?d(n):X(i(n)?{}:[],n)},arrayUniq:v,uniq:tn,arrayUnion:b,union:en,arraySort:S,sort:rn,arrayShuffle:M,shuffle:on,arraySample:D,sample:un,arraySome:w,some:an,arrayEvery:x,every:fn,arrayFilter:E,filter:cn,arrayFind:j,find:sn,arrayMap:O,map:ln,timestamp:hn,now:pn,stringToDate:T,dateToString:function(n,t){if(n){if(n=T(n),o(n)){var e=t||"yyyy-MM-dd HH:mm:ss",r=["日","一","二","三","四","五","六"],i={"q+":Math.floor((n.getMonth()+3)/3),"M+":n.getMonth()+1,"E+":n.getDay(),"d+":n.getDate(),"H+":n.getHours(),"m+":n.getMinutes(),"s+":n.getSeconds(),S:n.getMilliseconds()};return/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(""+n.getFullYear()).substr(4-RegExp.$1.length))),g(c(i),function(n){if(new RegExp("("+n+")").test(e)){var t=""+i[n];e=e.replace(RegExp.$1,"q+"===n||"E+"===n?r[t]:1===RegExp.$1.length?t:("00"+t).substr(t.length))}}),e}return n}return""},getWhatMonth:F,getWhatWeek:function(n,t,e){var r=Number(/^[0-7]$/.test(e)?e:0),i=T(n),o=i.getDay(),u=i.getTime()+864e5*((0===r?7:r)-(0===o?7:o));return t&&!C(t)&&(u+=6048e5*t),new Date(u)},getWhatDay:function(n,t){return new Date(T(n).getTime()+(t&&!C(t)?864e5*t:0))},getDaysOfMonth:function(n,t){return Math.floor((F(n,t,"last").getTime()-F(n,t,"first").getTime())/864e5)+1},getDateDiff:function(n,t,e){var r={},i=T(n).getTime(),o=t?T(t).getTime():new Date;if(i<o)for(var u,a=o-i,f=e&&e.length>0?e:[["yyyy",31536e6],["MM",2592e6],["dd",864e5],["HH",36e5],["mm",6e4],["ss",1e3],["S",0]],c=0,s=f.length;c<s;c++)a>=(u=f[c])[1]&&(c===s-1?a&&(r[u[0]]=a):(r[u[0]]=Math.floor(a/u[1]),a-=r[u[0]]*u[1]));return r},escape:mn,unescape:dn,getRandom:R,arrayMin:N,min:N,arrayMax:k,max:k};X(U,{setItem:function(n,t){U(n,t)},getItem:function(n){return U(n)},removeItem:function(n){U(n,null,{expires:-1})},getJSON:function(){return U()}});var bn=location,Sn={browse:function(){var n={},t=document.body||document.documentElement;return g(["webkit","khtml","moz","ms","o"],function(e){n["-"+e]=!!t[e+"MatchesSelector"]}),n},cookie:U,locat:function(){return{port:bn.port,href:bn.href,host:bn.host,hostname:bn.hostname,protocol:bn.protocol,origin:bn.origin,hash:(bn.hash.split("#")[1]||"").split("?")[0]||"",query:$(bn.hash),params:$(bn.search)}}};return vn.objectAssign(q,{mixin:A,version:"1.5.5",$name:"XEUtils"}),A(vn),A(Sn),q}); |
24
index.js
@@ -1,3 +0,3 @@ | ||
import * as core from './src/core' | ||
import * as browse from './src/browse' | ||
import { coreMethods } from './src/core/methods' | ||
import { browseMethods } from './src/browse/methods' | ||
@@ -12,6 +12,6 @@ function XEUtils () {} | ||
function mixin (methods) { | ||
core.objectEach(methods, function (fn, name) { | ||
XEUtils[name] = core.isFunction(fn) ? function () { | ||
var result = fn.apply(XEUtils.context, arguments) | ||
XEUtils.context = null | ||
coreMethods.objectEach(methods, function (fn, name) { | ||
XEUtils[name] = coreMethods.isFunction(fn) ? function () { | ||
var result = fn.apply(XEUtils.$context, arguments) | ||
XEUtils.$context = null | ||
return result | ||
@@ -22,9 +22,13 @@ } : fn | ||
mixin(core) | ||
mixin(browse) | ||
XEUtils.mixin = mixin | ||
XEUtils.version = '1.5.4' | ||
coreMethods.objectAssign(XEUtils, { | ||
mixin: mixin, | ||
version: '1.5.5', | ||
$name: 'XEUtils' | ||
}) | ||
mixin(coreMethods) | ||
mixin(browseMethods) | ||
export * from './src/core' | ||
export * from './src/browse' | ||
export default XEUtils |
{ | ||
"name": "xe-utils", | ||
"version": "1.5.4", | ||
"version": "1.5.5", | ||
"description": "XEUtils 一个轻量级的函数库,提供一套实用丰富函数", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
206
README.md
@@ -8,14 +8,21 @@ # XEUtils 轻量级的函数库,提供一套实用丰富函数 | ||
### 兼容性 | ||
## 兼容性 | ||
支持 IE8+、Edge、Chrome、Firefox、Opera、Safari等... | ||
### 直接引用 script 全局安装,XEUtils 会定义为全局变量 | ||
## CDN 安装 | ||
使用 script 方式安装,XEUtils 会定义为全局变量 | ||
生产环境请使用 xe-utils.min.js,更小的压缩版本,可以带来更快的速度体验。 | ||
### cdnjs 获取最新版本 | ||
[点击浏览](https://cdn.jsdelivr.net/npm/xe-utils/)已发布的所有 npm 包源码 | ||
``` shell | ||
<script src="./dist/xe-utils.min.js" type="text/javascript"></script> | ||
// 全局调用 | ||
XEUtils.dateToString(new Date(), 'yyyy-MM-dd') | ||
<script src="https://cdn.jsdelivr.net/npm/xe-utils/dist/xe-utils.js"></script> | ||
``` | ||
### unpkg 获取最新版本 | ||
[点击浏览](https://unpkg.com/xe-utils/)已发布的所有 npm 包源码 | ||
``` shell | ||
<script src="https://unpkg.com/xe-utils/dist/xe-utils.js"></script> | ||
``` | ||
### AMD 安装, 以 require.js 为例 | ||
## AMD 安装 | ||
### require.js 安装示例 | ||
``` shell | ||
@@ -29,10 +36,5 @@ // require 配置 | ||
}) | ||
// ./app.js 调用 | ||
define(['xe-utils'], function (XEUtils) { | ||
XEUtils.dateToString(new Date(), 'yyyy-MM-dd') | ||
}) | ||
``` | ||
### ES6 Module 安装方式 | ||
## ES6 Module 安装方式 | ||
``` shell | ||
@@ -42,3 +44,3 @@ npm install xe-utils --save | ||
### 部分导入 | ||
### import 部分导入 | ||
``` shell | ||
@@ -51,3 +53,3 @@ import { dateToString, stringToDate } from 'xe-utils' | ||
### 导入所有 | ||
### import 导入所有 | ||
``` shell | ||
@@ -60,23 +62,4 @@ import XEUtils from 'xe-utils' | ||
### 混合函数 | ||
#### 文件 ./customs.js | ||
``` shell | ||
export function custom1 () { | ||
console.log('自定义函数') | ||
} | ||
``` | ||
#### 示例 | ||
``` shell | ||
import Vue from 'vue' | ||
import XEUtils from 'xe-utils' | ||
import customs from './customs' | ||
XEUtils.mixin(customs) | ||
// 调用自定义扩展函数 | ||
XEUtils.custom1() | ||
``` | ||
## 'xe-utils' API | ||
#### isNaN (val) 判断是否非数值 | ||
## API | ||
### isNaN (val) 判断是否非数值 | ||
```shell | ||
@@ -92,3 +75,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isFinite (val) 判断是否为有限数值 | ||
### isFinite (val) 判断是否为有限数值 | ||
```shell | ||
@@ -101,3 +84,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isArray (val) 判断是否数组 | ||
### isArray (val) 判断是否数组 | ||
```shell | ||
@@ -110,3 +93,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isFloat (val) 判断是否小数 | ||
### isFloat (val) 判断是否小数 | ||
```shell | ||
@@ -120,3 +103,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isInteger (val) 判断是否整数 | ||
### isInteger (val) 判断是否整数 | ||
```shell | ||
@@ -137,3 +120,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isBoolean (val) 判断是否Boolean对象 | ||
### isBoolean (val) 判断是否Boolean对象 | ||
```shell | ||
@@ -145,3 +128,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isString (val) 判断是否String对象 | ||
### isString (val) 判断是否String对象 | ||
```shell | ||
@@ -155,3 +138,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isNumber (val) 判断是否Number对象 | ||
### isNumber (val) 判断是否Number对象 | ||
```shell | ||
@@ -164,3 +147,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isRegExp (val) 判断是否RegExp对象 | ||
### isRegExp (val) 判断是否RegExp对象 | ||
```shell | ||
@@ -174,3 +157,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isObject (val) 判断是否Object对象 | ||
### isObject (val) 判断是否Object对象 | ||
```shell | ||
@@ -184,3 +167,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isPlainObject (val) 判断是否是一个对象 | ||
### isPlainObject (val) 判断是否是一个对象 | ||
```shell | ||
@@ -194,3 +177,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isDate (val) 判断是否Date对象 | ||
### isDate (val) 判断是否Date对象 | ||
```shell | ||
@@ -204,3 +187,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isError (val) 判断是否Error对象 | ||
### isError (val) 判断是否Error对象 | ||
```shell | ||
@@ -213,3 +196,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isTypeError (val) 判断是否TypeError对象 | ||
### isTypeError (val) 判断是否TypeError对象 | ||
```shell | ||
@@ -222,3 +205,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isEmpty (val) 判断是否为空,包括空对象、空数值、空字符串 | ||
### isEmpty (val) 判断是否为空,包括空对象、空数值、空字符串 | ||
```shell | ||
@@ -233,3 +216,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isNull (val) 判断是否为Null | ||
### isNull (val) 判断是否为Null | ||
```shell | ||
@@ -242,3 +225,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isSymbol (val) 判断是否Symbol对象 | ||
### isSymbol (val) 判断是否Symbol对象 | ||
```shell | ||
@@ -250,3 +233,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isArguments (val) 判断是否Arguments对象 | ||
### isArguments (val) 判断是否Arguments对象 | ||
```shell | ||
@@ -258,3 +241,3 @@ import { isArguments } from 'xe-utils' | ||
``` | ||
#### isElement (val) 判断是否Element对象 | ||
### isElement (val) 判断是否Element对象 | ||
```shell | ||
@@ -266,3 +249,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isDocument (val) 判断是否Document对象 | ||
### isDocument (val) 判断是否Document对象 | ||
```shell | ||
@@ -274,3 +257,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isWindow (val) 判断是否Window对象 | ||
### isWindow (val) 判断是否Window对象 | ||
```shell | ||
@@ -282,3 +265,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### isFormData (val) 判断是否FormData对象 | ||
### isFormData (val) 判断是否FormData对象 | ||
```shell | ||
@@ -290,3 +273,3 @@ import { isFormData } from 'xe-utils' | ||
``` | ||
#### isLeapYear (date) 判断是否闰年 | ||
### isLeapYear (date) 判断是否闰年 | ||
```shell | ||
@@ -299,3 +282,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getType (obj) 获取对象类型 | ||
### getType (obj) 获取对象类型 | ||
```shell | ||
@@ -312,3 +295,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### uniqueId ( ) 获取一个全局唯一标识 | ||
### uniqueId ( ) 获取一个全局唯一标识 | ||
```shell | ||
@@ -320,3 +303,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getSize ( obj ) 返回对象的长度 | ||
### getSize ( obj ) 返回对象的长度 | ||
```shell | ||
@@ -329,3 +312,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### indexOf (obj, val) 返回对象第一个索引值 | ||
### indexOf (obj, val) 返回对象第一个索引值 | ||
```shell | ||
@@ -337,3 +320,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### lastIndexOf (obj, val) 从最后开始的索引值,返回对象第一个索引值 | ||
### lastIndexOf (obj, val) 从最后开始的索引值,返回对象第一个索引值 | ||
```shell | ||
@@ -345,3 +328,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### includes (obj, val) 判断对象是否包含该值,成功返回true否则false | ||
### includes (obj, val) 判断对象是否包含该值,成功返回true否则false | ||
```shell | ||
@@ -353,3 +336,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### assign/objectAssign (target, ...) 浅拷贝一个或者多个对象到目标对象中 | ||
### assign/objectAssign (target, ...) 浅拷贝一个或者多个对象到目标对象中 | ||
```shell | ||
@@ -363,3 +346,3 @@ import XEUtils, { objectAssign } from 'xe-utils' | ||
``` | ||
#### stringToJson (str) 字符串转JSON | ||
### stringToJson (str) 字符串转JSON | ||
```shell | ||
@@ -371,3 +354,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### jsonToString (obj) JSON转字符串 | ||
### jsonToString (obj) JSON转字符串 | ||
```shell | ||
@@ -379,3 +362,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### keys/objectKeys (obj) 获取对象所有属性 | ||
### keys/objectKeys (obj) 获取对象所有属性 | ||
```shell | ||
@@ -387,3 +370,3 @@ import XEUtils, { objectKeys } from 'xe-utils' | ||
``` | ||
#### values/objectValues (obj) 获取对象所有值 | ||
### values/objectValues (obj) 获取对象所有值 | ||
```shell | ||
@@ -395,3 +378,3 @@ import XEUtils, { objectValues } from 'xe-utils' | ||
``` | ||
#### entries/objectEntries (obj) 获取对象所有属性、值 | ||
### entries/objectEntries (obj) 获取对象所有属性、值 | ||
```shell | ||
@@ -403,3 +386,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### first/arrayFirst (obj) 获取对象第一个值 | ||
### first/arrayFirst (obj) 获取对象第一个值 | ||
```shell | ||
@@ -411,3 +394,3 @@ import XEUtils, { arrayFirst } from 'xe-utils' | ||
``` | ||
#### last/arrayLast (obj) 获取对象最后一个值 | ||
### last/arrayLast (obj) 获取对象最后一个值 | ||
```shell | ||
@@ -419,3 +402,3 @@ import XEUtils, { arrayLast } from 'xe-utils' | ||
``` | ||
#### each ( obj, iteratee, context ) 迭代器 | ||
### each ( obj, iteratee, context ) 迭代器 | ||
```shell | ||
@@ -431,3 +414,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### groupBy ( obj, iteratee, context ) 集合分组,默认使用键值分组,如果有iteratee则使用结果进行分组 | ||
### groupBy ( obj, iteratee, context ) 集合分组,默认使用键值分组,如果有iteratee则使用结果进行分组 | ||
```shell | ||
@@ -441,3 +424,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### objectMap ( obj, iteratee, context ) 指定方法后的返回值组成的新对象 | ||
### objectMap ( obj, iteratee, context ) 指定方法后的返回值组成的新对象 | ||
```shell | ||
@@ -451,3 +434,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### clone (obj, deep) 浅拷贝/深拷贝 | ||
### clone (obj, deep) 浅拷贝/深拷贝 | ||
```shell | ||
@@ -467,3 +450,3 @@ import XEUtils from 'xe-utils' | ||
#### uniq/arrayUniq ( array ) 数组去重 | ||
### uniq/arrayUniq ( array ) 数组去重 | ||
```shell | ||
@@ -475,3 +458,3 @@ import XEUtils, { arrayUniq } from 'xe-utils' | ||
``` | ||
#### union/arrayUnion ( ...array ) 将多个数的值返回唯一的并集数组 | ||
### union/arrayUnion ( ...array ) 将多个数的值返回唯一的并集数组 | ||
```shell | ||
@@ -483,3 +466,3 @@ import XEUtils, { arrayUnion } from 'xe-utils' | ||
``` | ||
#### sort/arraySort ( arr, iteratee, context ) 数组按属性值升序 | ||
### sort/arraySort ( arr, iteratee, context ) 数组按属性值升序 | ||
```shell | ||
@@ -494,3 +477,3 @@ import XEUtils, { arraySort } from 'xe-utils' | ||
``` | ||
#### shuffle/arrayShuffle ( array ) 将一个数组随机打乱,返回一个新的数组 | ||
### shuffle/arrayShuffle ( array ) 将一个数组随机打乱,返回一个新的数组 | ||
```shell | ||
@@ -502,3 +485,3 @@ import XEUtils, { arrayShuffle } from 'xe-utils' | ||
``` | ||
#### sample/arraySample ( array, number ) 从一个数组中随机返回几个元素 | ||
### sample/arraySample ( array, number ) 从一个数组中随机返回几个元素 | ||
```shell | ||
@@ -510,3 +493,3 @@ import XEUtils, { arraySample } from 'xe-utils' | ||
``` | ||
#### some/arraySome ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果函数对任一项返回true,则返回true,否则返回false | ||
### some/arraySome ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果函数对任一项返回true,则返回true,否则返回false | ||
```shell | ||
@@ -522,3 +505,3 @@ import XEUtils, { arraySome } from 'xe-utils' | ||
``` | ||
#### every/arrayEvery ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true,否则返回false | ||
### every/arrayEvery ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true,否则返回false | ||
```shell | ||
@@ -534,3 +517,3 @@ import XEUtils, { arrayEvery } from 'xe-utils' | ||
``` | ||
#### filter/arrayFilter ( obj, iteratee, context ) 根据回调过滤数据 | ||
### filter/arrayFilter ( obj, iteratee, context ) 根据回调过滤数据 | ||
```shell | ||
@@ -546,3 +529,3 @@ import XEUtils, { arrayFilter } from 'xe-utils' | ||
``` | ||
#### find/arrayFind ( obj, iteratee, context ) 查找匹配第一条数据 | ||
### find/arrayFind ( obj, iteratee, context ) 查找匹配第一条数据 | ||
```shell | ||
@@ -558,3 +541,3 @@ import XEUtils, { arrayFind } from 'xe-utils' | ||
``` | ||
#### map/arrayMap ( obj, iteratee, context ) 指定方法后的返回值组成的新数组 | ||
### map/arrayMap ( obj, iteratee, context ) 指定方法后的返回值组成的新数组 | ||
```shell | ||
@@ -571,3 +554,3 @@ import XEUtils, { arrayMap } from 'xe-utils' | ||
#### now/timestamp ( ) 返回时间戳 | ||
### now/timestamp ( ) 返回时间戳 | ||
```shell | ||
@@ -579,3 +562,3 @@ import XEUtils, { timestamp } from 'xe-utils' | ||
``` | ||
#### stringToDate ( str, format ) 任意格式字符串转为日期(yyyy年份、MM月份、dd天、HH小时、mm分钟、ss秒、SSS毫秒) | ||
### stringToDate ( str, format ) 任意格式字符串转为日期(yyyy年份、MM月份、dd天、HH小时、mm分钟、ss秒、SSS毫秒) | ||
```shell | ||
@@ -590,3 +573,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### dateToString ( date, format ) 日期化为任意格式字符串(yyyy年份、MM月份、dd天、HH小时、mm分钟、ss秒、S毫秒、E星期几、q季度) | ||
### dateToString ( date, format ) 日期化为任意格式字符串(yyyy年份、MM月份、dd天、HH小时、mm分钟、ss秒、S毫秒、E星期几、q季度) | ||
```shell | ||
@@ -602,3 +585,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getWhatMonth ( date, mode, month ) 返回前几个月或后几个月的日期,可以指定月初或月末,默认当前 | ||
### getWhatMonth ( date, mode, month ) 返回前几个月或后几个月的日期,可以指定月初或月末,默认当前 | ||
```shell | ||
@@ -614,3 +597,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getWhatWeek ( date, mode, week ) 返回前几周或后几周的日期,可以指定星期几,默认当前 | ||
### getWhatWeek ( date, mode, week ) 返回前几周或后几周的日期,可以指定星期几,默认当前 | ||
```shell | ||
@@ -626,3 +609,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getWhatDay ( date, day ) 返回前几天或后几天的日期 | ||
### getWhatDay ( date, day ) 返回前几天或后几天的日期 | ||
```shell | ||
@@ -636,3 +619,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getDaysOfMonth ( date, month ) 返回当前日期月份的天数,可以指定前几个月或后几个月,默认当前 | ||
### getDaysOfMonth ( date, month ) 返回当前日期月份的天数,可以指定前几个月或后几个月,默认当前 | ||
```shell | ||
@@ -647,3 +630,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### getDateDiff ( startDate, endDate, rules ) 返回两个日期之间差距 | ||
### getDateDiff ( startDate, endDate, rules ) 返回两个日期之间差距 | ||
```shell | ||
@@ -659,3 +642,3 @@ import XEUtils from 'xe-utils' | ||
#### getRandom ( min, max ) 获取一个指定范围内随机数 | ||
### getRandom ( min, max ) 获取一个指定范围内随机数 | ||
```shell | ||
@@ -668,3 +651,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### min/arrayMin ( arr, iteratee ) 获取最小值 | ||
### min/arrayMin ( arr, iteratee ) 获取最小值 | ||
```shell | ||
@@ -679,3 +662,3 @@ import XEUtils, { arrayMin } from 'xe-utils' | ||
``` | ||
#### max/arrayMax ( arr, iteratee ) 获取最大值 | ||
### max/arrayMax ( arr, iteratee ) 获取最大值 | ||
```shell | ||
@@ -691,3 +674,3 @@ import XEUtils, { arrayMax } from 'xe-utils' | ||
#### escape ( str ) 转义HTML字符串,替换&, <, >, ", ', `字符 | ||
### escape ( str ) 转义HTML字符串,替换&, <, >, ", ', `字符 | ||
```shell | ||
@@ -698,3 +681,3 @@ import XEUtils from 'xe-utils' | ||
``` | ||
#### unescape ( str ) 反转escape | ||
### unescape ( str ) 反转escape | ||
```shell | ||
@@ -706,3 +689,3 @@ import XEUtils from 'xe-utils' | ||
#### browse ( ) 获取浏览器内核 | ||
### browse ( ) 获取浏览器内核 | ||
```shell | ||
@@ -714,3 +697,3 @@ import XEUtils from 'xe-utils' | ||
#### locat ( ) 获取地址栏信息 | ||
### locat ( ) 获取地址栏信息 | ||
```shell | ||
@@ -722,3 +705,3 @@ import XEUtils from 'xe-utils' | ||
#### cookie ( ) Cookie操作函数 | ||
### cookie ( ) Cookie操作函数 | ||
```shell | ||
@@ -742,3 +725,22 @@ import XEUtils from 'xe-utils' | ||
## 混合函数 | ||
### 文件 ./customs.js | ||
``` shell | ||
export function custom1 () { | ||
console.log('自定义函数') | ||
} | ||
``` | ||
### 示例 ./main.js | ||
``` shell | ||
import Vue from 'vue' | ||
import XEUtils from 'xe-utils' | ||
import customs from './customs' | ||
XEUtils.mixin(customs) | ||
// 调用自定义扩展函数 | ||
XEUtils.custom1() | ||
``` | ||
## License | ||
Copyright (c) 2017-present, Xu Liangzhan |
@@ -63,28 +63,31 @@ import { isDate, isString, objectKeys, arrayEach } from './base' | ||
export function dateToString (date, format) { | ||
date = stringToDate(date) | ||
if (isDate(date)) { | ||
var result = format || 'yyyy-MM-dd HH:mm:ss' | ||
var weeks = ['日', '一', '二', '三', '四', '五', '六'] | ||
var resDate = { | ||
'q+': Math.floor((date.getMonth() + 3) / 3), | ||
'M+': date.getMonth() + 1, | ||
'E+': date.getDay(), | ||
'd+': date.getDate(), | ||
'H+': date.getHours(), | ||
'm+': date.getMinutes(), | ||
's+': date.getSeconds(), | ||
'S': date.getMilliseconds() | ||
if (date) { | ||
date = stringToDate(date) | ||
if (isDate(date)) { | ||
var result = format || 'yyyy-MM-dd HH:mm:ss' | ||
var weeks = ['日', '一', '二', '三', '四', '五', '六'] | ||
var resDate = { | ||
'q+': Math.floor((date.getMonth() + 3) / 3), | ||
'M+': date.getMonth() + 1, | ||
'E+': date.getDay(), | ||
'd+': date.getDate(), | ||
'H+': date.getHours(), | ||
'm+': date.getMinutes(), | ||
's+': date.getSeconds(), | ||
'S': date.getMilliseconds() | ||
} | ||
if (/(y+)/.test(result)) { | ||
result = result.replace(RegExp.$1, ('' + date.getFullYear()).substr(4 - RegExp.$1.length)) | ||
} | ||
arrayEach(objectKeys(resDate), function (key) { | ||
if (new RegExp('(' + key + ')').test(result)) { | ||
var val = '' + resDate[key] | ||
result = result.replace(RegExp.$1, (key === 'q+' || key === 'E+') ? weeks[val] : (RegExp.$1.length === 1 ? val : ('00' + val).substr(val.length))) | ||
} | ||
}) | ||
return result | ||
} | ||
if (/(y+)/.test(result)) { | ||
result = result.replace(RegExp.$1, ('' + date.getFullYear()).substr(4 - RegExp.$1.length)) | ||
} | ||
arrayEach(objectKeys(resDate), function (key) { | ||
if (new RegExp('(' + key + ')').test(result)) { | ||
var val = '' + resDate[key] | ||
result = result.replace(RegExp.$1, (key === 'q+' || key === 'E+') ? weeks[val] : (RegExp.$1.length === 1 ? val : ('00' + val).substr(val.length))) | ||
} | ||
}) | ||
return result | ||
return date | ||
} | ||
return date | ||
return '' | ||
} | ||
@@ -91,0 +94,0 @@ |
101317
18
2535
674