看了一段时间关于js原型的知识 js的扩展方法是基于原型的 如Array prototype XXXX就是给Array扩展XXX方法 然后数组都能使用这个方法了
在对象数组里面经常有根据属性来进行排序的 升序 降序的 于是自己就想写一个类似于C#里面的orderBy的方法 代码如下
代码如下:
Array prototype OrderByAsc = function (func) {
var m = {}
for (var i = i <this lengthi++) {
for (var k = k <this lengthk++) {
if (func(this[i]) <func(this[k])) {
m = this[k]
this[k] = this[i]
this[i] = m
}
}
}
return this
}
Array prototype OrderByDesc = function (func) {
var m = {}
for (var i = i <this lengthi++) {
for (var k = k <this lengthk++) {
if (func(this[i]) >func(this[k])) {
m = this[k]
this[k] = this[i]
this[i] = m
}
}
}
return this
}
调用的方法如下
代码如下:
var arr = [{ name: aaa grade: } { name: ccc grade: } { name: bbb grade: }]
var orderArr = arr OrderByDesc(function (a) {
return a grade
})
然后输出一下 看一下结果吧
代码如下:
for (var i = i <orderArr lengthi++) {
document write(orderArr[i] name)
lishixinzhi/Article/program/Java/JSP/201311/19823遍历你要判断的字符串str,用str.charCodeAt(下标),获得每个字符的asc码,然后对照asc码表来判断其所属类型的。或者用正则,/^[a-zA-Z]$/.test()括号里是被检测的字符串,这个正则检测是否都为英文/^[0-9]$/检测是否为数字