//将字段求和
this.sum = function () {
var arg = getArg(arguments);
var o = arg["Array"][0] || [];
var field = arg["string"][0] || arg["Array"][1]|| null;
if (o.constructor == Array ) {
if (field) {
var obj = {};
var fields = (field.constructor == Array) ? field : field.split(',');
for (var i = 0, b; b = fields[i++];) {
obj[b] = 0;
}
for (var i = 0, a; a = o[i++];) {
for (var j = 0, b; b = fields[j++];) {
obj[b] += parseFloat(a[b]);
}
}
return obj;
} else {
var obj = 0;
for (var i = 0, len = o.length; i < len; i++) {
obj += (o[i] ? o[i] : 0);
}
return obj;
}
}
};
//获取参数
var getArg = function (arg) {
var ret = {
'number': [],
'string': [],
'boolean': [],
'object': [],
'Object': [],
'Array': [],
'function': [],
'Date': [],
'null': []
}
for (var i = 0, len = arg.length; i < len; i++) {
var ar = arg[i];
if (typeof (ar) == 'number') {
ret['number'].push(ar);
} else if (typeof (ar) == 'string') {
ret['string'].push(ar);
} else if (typeof (ar) == 'boolean') {
ret['boolean'].push(ar);
} else if (typeof (ar) == 'function') {
ret['function'].push(ar);
} else if (typeof (ar) == 'object') {
if (ar) {
if (ar.constructor == Object) {
ret['object'].push(ar);
ret['Object'].push(ar);
} else if (ar.constructor == Array) {
ret['object'].push(ar);
ret['Array'].push(ar);
} else if (ar.constructor == Date) {
ret['Date'].push(ar);
}
} else {
ret['null'].push(ar);
}
}
}
return ret;
}
想用更多的方法请打开JavaScript基础包