// 获得数字的位置
this.index = function () {
var arg = getArg(arguments);
var obj = arg["Array"][0] || [];
var field = arg["function"][0] || arg["string"][0] || null;
var v = arguments[2] || null;
if (field) {
v = arguments[2] || null;
} else {
v = arguments[2] ||arguments[1] || null;
}
if (obj.constructor == Array) {
if (typeof (v) == 'undefined' && typeof (field) != 'function') {
v = field;
field = null;
}
field = v ? field : null;
var idx = -1;
if (field == null) {
for (var i = 0, len = obj.length; i < len; i++) {
if (obj[i] == v) {
idx = i;
break;
}
}
} else {
if (typeof (field) == 'function') {
for (var i = 0, a; a = obj[i++];) {
if (field(a)) {
idx = i - 1;
break;
}
}
} else {
for (var i = 0, a; a = obj[i++];) {
if (a[field] == v) {
idx = i - 1;
break;
}
}
}
}
return idx;
}
};
//获取参数
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基础包