define([ 'jquery'], function($) {
class Tools{
constructor(){
this.message = '测试class';
}
//es6 promise请求ajax
ajax(options,button = true){
let promise = new Promise(function(resolve, reject) {
$.ajax({
url: options.url,
data : options.data || '',
contentType: options.contentType || 'application/json; charset=UTF-8',
type : options.type || 'GET',
dataType : 'json',
success : function(result) {
resolve(result);
},
error : function(result) {
reject(result);
}
});
});
return promise;
}
//数组拼接去重,返回新数组
concat(arr1,arr2){
let arr = arr1.concat();
for(let i=0;i<arr2.length;i++){
arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
}
return arr;
}
//从数组1中删除数组2,返回数组1
remove(arr1,arr2){
Array.prototype.indexOf = function(val) {
for (let i = 0; i < this.length; i++) {
if (this[i] == val) {
return i;
}
}
return -1;
};
Array.prototype.remove = function(val) {
let index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
for(let i of arr2){
arr1.remove(i)
}
return arr1;
}
//测试静态方法,static 不能通过实例调用static
static sTest(){
return this.message;
}
//测试用
test(){
return this.message;
}
}
return new Tools();
})
封装了一个基于promise的ajax请求方法,一个数组的合并去重,一个从前一个数组删除第二个数组所拥有元素的方法
注意,这里引用了require,改成sea.js当然也没问题