1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- (function () {
- // 数组功能扩展
- Array.prototype.each = function (fn) {
- fn = fn || Function.K
- var a = []
- var args = Array.prototype.slice.call(arguments, 1)
- for (var i = 0; i < this.length; i++) {
- var res = fn.apply(this, [this[i], i].concat(args))
- if (res != null) a.push(res)
- }
- return a
- }
- // 数组是否包含指定元素
- Array.prototype.contains = function (suArr) {
- for (var i = 0; i < this.length; i++) {
- if (this[i] === suArr) {
- return true
- }
- }
- return false
- }
- // 不重复元素构成的数组
- Array.prototype.uniquelize = function () {
- var ra = []
- for (var i = 0; i < this.length; i++) {
- if (!ra.contains(this[i])) {
- ra.push(this[i])
- }
- }
- return ra
- }
- // 两个数组的补集
- Array.complement = function (a, b) {
- return Array.minus(Array.union(a, b), Array.intersect(a, b))
- }
- // 两个数组的交集
- Array.intersect = function (a, b) {
- return a.uniquelize().each(function (o) {
- return b.contains(o) ? o : null
- })
- }
- // 两个数组的差集
- Array.minus = function (a, b) {
- return a.uniquelize().each(function (o) {
- return b.contains(o) ? null : o
- })
- }
- // 两个数组并集
- Array.union = function (a, b) {
- return a.concat(b).uniquelize()
- }
- window.saveFile = function (fileUrl, fileName, fileMimeType) {
- console.log(fileUrl, fileName, fileMimeType)
- window.download(fileUrl, fileName, fileMimeType)
- }
- })()
|