function soryBy(arr, prop, desc) {
var props = [],
ret = [],
i = 0,
oI,
len = arr.length;
if (typeof prop == 'string') {
for (; i < len; i++) {
oI = arr[i];
(props[i] = new String((oI && oI[prop]) || ''))._obj = oI;
}
} else if (typeof prop == 'function') {
for (; i < len; i++) {
oI = arr[i];
(props[i] = new String((oI && prop(oI)) || ''))._obj = oI;
}
} else {
throw '参数类型错误';
}
props.sort();
for (i = 0; i < len; i++) {
ret[i] = props[i]._obj;
}
if (desc) ret.reverse();
return ret;
}
export default soryBy;