为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 ...
随机推荐
- Oracle遇到的一些问题
1.制造数据时出现错误 ORA-30009问题 计划任务: insert into test select rownum,sysdate from dual connect 会出现ORA-30009 ...
- Jasper_sheetName_defined by parameter or hard coding or filed name
1.根据传递的参数定义sheet name (jasper sheet name defined by parameter) (1) 获取后台参数 <parameter name="P ...
- 不要怂,就是GAN (生成式对抗网络) (二)
前面我们了解了 GAN 的原理,下面我们就来用 TensorFlow 搭建 GAN(严格说来是 DCGAN,如无特别说明,本系列文章所说的 GAN 均指 DCGAN),如前面所说,GAN 分为有约束条 ...
- Unity3D 定时发射子弹
using UnityEngine; public class example : MonoBehaviour { public GameObject projectilePrefab; public ...
- 【转帖】.Net中C#的DllImport的用法
在 C# 中通过 P/Invoke 调用Win32 DLL http://msdn.microsoft.com/zh-cn/library/aa686045.aspx 大家在实际工作学习C#的时候 ...
- jquery UI推荐
Bootstrap http://www.bootcss.com/ http://www.ligerui.com/ http://j-ui.com/#demo_page2 http://jqueryu ...
- 【HDU3371】Connect the Cities(MST基础题)
注意输入的数据分别是做什么的就好.还有,以下代码用C++交可以过,而且是500+ms,但是用g++就会TLE,很奇怪. #include <iostream> #include <c ...
- 微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记
微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记 微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏 之前有写过几篇关于微信内置浏览器(WebView) ...
- STL容器是否是线程安全的
转载http://blog.csdn.net/zdl1016/article/details/5941330 STL的线程安全. 说一些关于stl容器的线程安全相关的话题. 一般说来,stl对于多线程 ...
- 第04讲- Android项目目录结构分析
学习内容: 1. 认识R类(R.java)的作用 R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改.R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R ...