为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 ...
随机推荐
- fiddler2使用文档
http://www.trinea.cn/android/android-network-sniffer/
- PHP 中数组函数 isset 效率比 array_key_exists 更高
PHP 中数组函数 isset 效率比 array_key_exists 更高 PHP 浏览:4194 2014年04月05日 isset 和 array_key_exists 函数都可以用来测试数组 ...
- hdu 2034
Problem Description 参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法 ...
- JAVA语言对比C++语言的几个优点和自身的关键特性
之所以写这篇博客不是为了比较JAVA语言和C++语言到底孰优孰劣,而是从语言本身出发进行对比总结程序编码设计上的差别.因水平有限,某些内容可能太过片面,欢迎指正和讨论. JAVA语言在设计上很好地借鉴 ...
- Django-Rest-Framework 教程: 快速入门
本篇中, 我们会创建一个简单的API, 用来查看和编辑django默认的user和group数据. 1. 设置 我们创建django项目tutorial, 和app quickstart: # 创建新 ...
- iOS中构造函数与析构函数
一.构造函数 在OC中凡是已init开头的函数我们都称之为构造函数,在声明构造函数的时候,不带参数的一般直接声明为“-(id)init”,带参数的一般声明为“-(id)initWith...”. 1 ...
- (转)Android获取手机信息
package com.water.activity; import java.util.List; import android.app.Activity; import android.os.Bu ...
- 新唐的icp和isp
ICP 的意思是 "在电路编程"(in Circuit Programming),PC 电脑可以运行 “NuMicro ICP Programming Tool”软件通过 Nu-L ...
- Delphi中ShellExecute使用详解(详细解释10种显示状态)
有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess.1.CreateProcess因为使用复杂,比较少用.2.WinExec主要运行EXE文件.如: ...
- 【转】ubuntu设置PATH----不错
原文网址:http://no001.blog.51cto.com/1142339/554927 试了好多遍,多无效.. 最后在/etc/enviroment下设置才有效. 不过让有一些未解问题 我使用 ...