为js数组扩展方法
(function(global,undefined){
//javascript冒泡排序,直接添加到基础类型Array的原型上
Function.prototype.method = function (name, func) {
//if(!this.prototype[name]){
//先判断一下是原型中否有这个方法,如果没有再添加
this.prototype[name] = this.prototype[name] || func;
//}
return this;
};
/*Function.prototype.tool = {
method:function (name, func) {
if(!this.prototype[name]){
//先判断一下是原型中否有这个方法,如果没有再添加
this.prototype[name] = func;
}
return this;
}
};
tool.*/
Object.method('toString',function(){alert(33)});
/*判断Array、Function、Object、String、Number、Null、undefined、boolean类型*/
Object.method('getType',function(){
if(typeof this == "object"){
var type = Object.prototype.toString.call(this);
return type.split(" ")[1].replace("]","");
}else{
return typeof this;
}
});
//冒泡算法,左边一项跟右边每一项比
Array.method('bubble',function(){
var len = this.length;
for (j=0 ; j < len; j++) {
for (i=j+1; i<len;i++){
var first = this[i],
sec = this[j];
if (sec>first){
var tmp = this[i];
this[i] = sec;
this[j] = tmp;
}
};
};
return this;
});
//获取数组最大值
Array.method('max',function(){
return Math.max.apply(Math,this);
});
//获取数组最小值
Array.method('min',function(){
return Math.min.apply(Math,this);;
});
//删除数组中含有指定内容的一项
Array.method('delByCnt',function(cnt,flag){
if(typeof flag == 'boolean'){
if(flag){
this.splice(this.indexOf(cnt),1);
return this;
}else{
return this.splice(this.indexOf(cnt),1);
}
}else{
throw new Error("delByCnt方法的第二个参数必须是boolean类型!");
}
});
})(this);
为js数组扩展方法的更多相关文章
- 浅谈6种JS数组遍历方法的区别
本篇文章给大家介绍一下6种JS数组遍历方法:for.foreach.for in.for of.. each. ().each的区别.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. ...
- js数组去重方法分析与总结
数组去重经常被人拿来说事,虽然在工作中不常用,但他能够很好的考察js基础知识掌握的深度和广度,下面从js的不同阶段总结一下去重的方法. ES3阶段 该阶段主要通过循环遍历数组从而达到去重的目的 多次循 ...
- ES6之数组扩展方法【一】(相当好用)
form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...
- 再探JS数组原生方法—没想到你是这样的数组
最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...
- js数组push方法使用注意
js 数组的push方法,想必大家都知道是向数组末尾添加元素,但是有一个很关键的点需注意: 引自MDN 返回值 当调用该方法时,新的 length 属性值将被返回. var sports = [&qu ...
- js数组的方法小结
js中数组是一种非常常用数据结构,而且很容易模拟其他的一些数据结构,比如栈和队列.数组的原型Array.prototype内置了很多方法,下面就来小小总结一下这些方法. 检测数组就不用多说了,使用EC ...
- js 数组清空 方法 汇总
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- js 数组去重方法汇总
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- JS数组遍历方法
常用数组遍历方法: 1.原始for循环 var a = [1,2,3]; for(var i=0;i<a.length;i++){ console.log(a[i]); //结果依次为1,2,3 ...
随机推荐
- 【干货】.NET开发通用组件发布(四) 日志记录组件
组件介绍和合作开发 http://www.cnblogs.com/MrHuo/p/MrHuoControls.html 日志记录组件功能介绍 通过基类Logger,实现了文本记录日志和数据库记录日志两 ...
- php array_combine 把array的默认键改成指定的字符串
array(2) { [0] => array(6) { [0] => string(1) "1" [1] => string(10) "1470650 ...
- AFNetworiking与ASIHttpRequest对比
在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题.一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性.这些组件把复杂的网络底层操作封装成友好的类和方法, ...
- js 对url字符转译全解
1.js 对url进行字符解码设计到3个方法 escape , encodeURI , encodeURIComponent eg: var url='http://baidu.com';encode ...
- mysql/Java服务端对emoji的支持
更改好后的字符集: 乱码 推荐大家看 深入MySQL字符集设置 ,区分检查client端.server端的编码:最简单暴力的方式,是在所有的环节都显式明确的指定相同的编码. 比如使用python的My ...
- 《Algorithms 4th Edition》读书笔记——3.1 符号表(Elementary Symbol Tables)-Ⅱ
3.1.2 有序的符号表 典型的应用程序中,键都是Comparable的对象,因此可以使用a.compare(b)来比较a和b两个键.许多符号表的实现都利用Comparable接口带来的键的有序性来更 ...
- Linux 计算器
bc: 默认没有小数位,使用scale=2设置保留的位数.
- springmvc-时间类型转换器
springmvc 没有默认实现时间类型的转化,需要如下代码实现此功能. @InitBinder public void initBinder(HttpServletRequest request,S ...
- java二维码开发
之前就写过很多关于二维码的东西,一直没有时间整理一下,所以呢今天就先来介绍一下如何利用java开发二维码.生成二维码有很多jar包可以实现,例如Zxing,QRcode,前者是谷歌的,后者日本的,这里 ...
- 行人检測之HOG特征(Histograms of Oriented Gradients)
之前的文章行人计数.计次提到HOG特征这个概念,这两天看了一下原版的论文,了解了一下HOG特征的原理,并依据自己的理解将这种方法的流程写了下来,假设有不正确的地方欢迎指正. HOG(Histogram ...