`
全冠清
  • 浏览: 52625 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

js实现ruby中array的include?

阅读更多
		Array.prototype.include=function(item){
			for(var i=0;i<this.length;i++){
				if(this[i]===item){
					return true;
				}
			}
			return false;
		}

全冠清 写道
	//是否有交集
	Array.prototype.hasIntersection=function(array){
		for(var i=0;i<this.length;i++){
			if(array.include(this[i])){
				return true;
			}
		}
		return false;
	}
	//是否每个元素都匹配
	Array.prototype.match=function(reg){
		for(var i=0;i<this.length;i++){
			if(!reg.test(this[i])){
				return false;
			}
		}
		return true;
	}
	//元素是否具有唯一性
   Array.prototype.isUniqueness=function(){
     	for(var i=0;i<this.length;i++){
			for(var j=0;j<this.length;j++){
				if(i!=j&&this[i]===this[j]){
					return false;
				}
			}
		}
		return true;
   }
   
   
   //阶乘
function factorial(m){
    var r = 1;
    while (m > 1) {
        r *= m;
        m--;
    }
    return r;
}

//组合数
function c(m, n){
    return factorial(m) / (factorial(m - n) * factorial(n));
}
//排列数
function p(m,n){
	return factorial(m) / factorial(m - n);
}

分享到:
评论
8 楼 全冠清 2012-02-22  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>test</title>
		<script type="text/javascript" language="JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
		<script type="text/javascript" language="JavaScript">
        $(function(){
         function getNextTextById(id){
		 	 var rex = new RegExp(id+"\"?>(.*?)<","igm");
			  html=$('#'+id).parent().parent().html().replace(/\n|\r/g,'')
			  alert(html)
			  rex.exec(html)
			  return  RegExp.$1;
		 }
		 $('#test').click(function(){
		 	alert(getNextTextById("i90"))
		 })
		})
		</script>
	</head>
	<body>
		<button id='test'>test</button>
		2112312
		<br id="123123">
		2112312
		<br id="123123">
		2112312
		<br id="123123">
		2112312
		<br id="i90">
		51321321
	</body>
</html>

7 楼 全冠清 2011-11-01  
金额处理
	 Number.prototype.fixMoney=function(){
	 	return this.toString().replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,")
	 }
	 var a=123456789
	 alert(a.fixMoney())
6 楼 全冠清 2011-11-01  
彩票相关
	private static final Pattern pl3z3=Pattern.compile("((\\d),((?!\\2)\\d),\\3\\s*)|((\\d),\\5,((?!\\5)\\d)\\s*)|((\\d),((?!\\8)\\d),\\8\\s*)");
	
	private static final Pattern pl3z6=Pattern.compile("(\\d),((?!\\1)\\d),((?!\\1|\\2)\\d)\\s*");
	
	
	private static final Pattern p22to5 = Pattern.compile("(0[1-9]|1\\d|2[012]),"
														+ "((?!\\1)(0[1-9]|1\\d|2[012])),"
														+ "((?!\\1|\\2)(0[1-9]|1\\d|2[012])),"
														+ "((?!\\1|\\2|\\4)(0[1-9]|1\\d|2[012])),"
														+ "((?!\\1|\\2|\\4|\\6)(0[1-9]|1\\d|2[012]))\\s*");

	private static final Pattern dlt = Pattern
			.compile("(0[1-9]|[12]\\d|3[0-5]),"
					+ "((?!\\1)(0[1-9]|[12]\\d|3[0-5])),"
					+ "((?!\\1|\\2)(0[1-9]|[12]\\d|3[0-5])),"
					+ "((?!\\1|\\2|\\4)(0[1-9]|[12]\\d|3[0-5])),"
					+ "((?!\\1|\\2|\\4|\\6)(0[1-9]|[12]\\d|3[0-5]))"
					+ "\\|(0[1-9]|1[0-2]),((?!\\10)(0[1-9]|1[0-2]))\\s*");
		
	private static final Pattern   ssq = Pattern.compile("(0[1-9]|[12]\\d|3[0-3]),"+
										"((?!\\1)(0[1-9]|[12]\\d|3[0-3]))," +
										"((?!\\1|\\2)(0[1-9]|[12]\\d|3[0-3]))," +
										"((?!\\1|\\2|\\4)(0[1-9]|[12]\\d|3[0-3]))," +
										"((?!\\1|\\2|\\4|\\6)(0[1-9]|[12]\\d|3[0-3])),"+
										"((?!\\1|\\2|\\4|\\6|\\8)(0[1-9]|[12]\\d|3[0-3]))\\|" +
										"(0[1-9]|1[1-6])\\s*");
    private static final Pattern   qlc=  Pattern.compile("(0[1-9]|[12]\\d|30),"+
										"((?!\\1)(0[1-9]|[12]\\d|30))," +
										"((?!\\1|\\2)(0[1-9]|[12]\\d|30))," +
										"((?!\\1|\\2|\\4)(0[1-9]|[12]\\d|30))," +
										"((?!\\1|\\2|\\4|\\6)(0[1-9]|[12]\\d|30)),"+
										"((?!\\1|\\2|\\4|\\6|\\8)(0[1-9]|[12]\\d|30)),"+
										"((?!\\1|\\2|\\4|\\6|\\8|\\10)(0[1-9]|[12]\\d|30))\\s*");
5 楼 全冠清 2011-08-31  
jq form cookie记住上次的值
/**
 * jQuery Cookie plugin
 *
 * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie = function (key, value, options) {

    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        value = String(value);

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};
/**
 * jQuery CookieFillForm plugin
 *
 * Copyright (c) 2010 ningbinbin
 * binbin5474@gmail.com
 *
 */
$(function(){
		$.fn.cookieFillForm=function(prefix){
			$(this).find('input,select,textarea').not(':radio,:checkbox').not('type=hidden').each(function(i){
					if($.cookie(prefix+"val"+i))
					       $(this).val($.cookie(prefix+"val"+i))
			})
			$(this).find(':radio,:checkbox').attr('checked',false)
			$(this).find(':radio,:checkbox').each(function(i){
				if($.cookie(prefix+"checked"+i)){
					$(this).attr('checked',true)
				}
			})
			
			$(this).submit(function(){
					$(this).find('input,select,textarea').not(':radio,:checkbox').not('type=hidden').each(function(i){
						$.cookie(prefix+"val"+i,$(this).val(),{ expires: 7, path: '/' })
					})
					$(this).find(':radio,:checkbox').each(function(i){
						if($(this).attr('checked')){
							$.cookie(prefix+"checked"+i,true,{ expires: 7, path: '/' })
						}
			     	})
			})
		}
})

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>Untitled Document</title>
		<script type="text/javascript" language="JavaScript" src="jquery.min.js"></script>
		<script type="text/javascript" language="JavaScript" src="jquery.cookieFillForm.js"></script>
		<script type="text/javascript" language="JavaScript">
			$(function(){
				$('form').cookieFillForm("form0")
			})
		</script>
	</head>
	<body>
		<form method="post" action="1.html">
			<div>
			<input type="text">
			<input type="radio">
			<input type="text">
			<input type="password">
			<input type="checkbox">
			<select>
				<option value="1">80890</option>
				<option value="2">80892</option>
				<option value="3">80893</option>
			</select>
			<textarea>
				sdafdsa
			</textarea>
			<input type="submit" value="提交">
			</div>
			<input type="hidden">
		</form>
	</body>
</html>
4 楼 全冠清 2011-06-13  
动态加载script
function loadScript(src,callBack){
    var head = document.getElementsByTagName("head")[0];
    var script = document.createElement("script");
    script.src = src;
    var done = false;
    script.onload = script.onreadystatechange = function(){
        if ( !done && (!this.readyState ||
                            this.readyState == "loaded" || this.readyState == "complete") ) {
                        done = true;
                      callBack()
                        script.onload = script.onreadystatechange = null;
                        head.removeChild( script );
          }
    }
    head.appendChild(script);
}
3 楼 全冠清 2011-06-10  
求质数
			var array=[]
			for(var i =2 ;i<=100;i++){
				array.push(i)
			}
		    
			for(var i=0;array[i]*array[i]<100;i++){
				for(var j=0;j<array.length;j++){
					if(array[j]!=array[i]&&array[j]%array[i]==0){
						array.splice(j,1)
					}
				}
			} 
			document.writeln(array)

2 楼 全冠清 2011-06-09  
绑定多个事件
function appendParentWindowLoad(fun){

        if (-[1, ]) {

                 window.parent.window.addEventListener('load', fun, false);

        }       else {

                 window.parent.window.attachEvent("onload", fun)

        }

 }

1 楼 全冠清 2009-08-13  
	//是否有交集
	Array.prototype.hasIntersection=function(array){
		for(var i=0;i<this.length;i++){
			if(array.include(this[i])){
				return true;
			}
		}
		return false;
	}
	//是否每个元素都匹配
	Array.prototype.match=function(reg){
		for(var i=0;i<this.length;i++){
			if(!reg.test(this[i])){
				return false;
			}
		}
		return true;
	}
	//元素是否具有唯一性
   Array.prototype.isUniqueness=function(){
     	for(var i=0;i<this.length;i++){
			for(var j=0;j<this.length;j++){
				if(i!=j&&this[i]===this[j]){
					return false;
				}
			}
		}
		return true;
   }
   
   
   //阶乘
function factorial(m){
    var r = 1;
    while (m > 1) {
        r *= m;
        m--;
    }
    return r;
}

//组合数
function c(m, n){
    return factorial(m) / (factorial(m - n) * factorial(n));
}
//排列数
function p(m,n){
	return factorial(m) / factorial(m - n);
}

相关推荐

    ruby、javascript、php中的观察者模式实现代码

    在JavaScript中实现观察者模式,同样需要手动编写代码来实现,因为JavaScript的原生对象并没有直接提供观察者模式的支持。在JavaScript中,你可以使用对象来代表被观察的主题(Subject)和观察者(Observer),通过...

    helper-meth:Ruby喜欢Javascript中针对原始数据类型的有用的帮助器方法。 不太冗长

    JavaScript中有关字符串,数组,对象,数字的有用方法 ES6中引入的Array's includes方法的改进版本。 对数组和对象内的值进行深度/嵌套检查。 使用递归。 有速记方法 一些方法的灵感/命名来自于ruby语言。 安装 ...

    prototype.js 1.4版开发者手册.doc

    Prototype.js还扩展了许多JavaScript内置对象,例如Array、String、Function等,增加了诸如`map()`, `each()`, `extend()`, `include()`等方法,使得代码更加简洁和模块化。此外,它还提供了强大的DOM操作和事件处理...

    prototype.js 1.4版开发者手册

    此外,Prototype.js还引入了`Array`和`String`对象的扩展,添加了诸如`each()`, `map()`, `grep()`, `include()`, `startsWith()`, `endsWith()`等方法,增强了数组和字符串的处理能力。对于Ajax,Prototype.js提供...

    用string拆分字符串

    C++中没有内置的`split`函数,但可以通过`std::stringstream`或`std::getline`配合`std::stringstream`来实现: ```cpp #include #include #include std::vector&lt;std::string&gt; split(const std::string &s...

    Prototype文档

    7. **数组操作**:Prototype提供了许多实用的数组方法,如`Array.prototype.each()`遍历数组,`Array.prototype.clone()`克隆数组,以及`Array.prototype.include()`添加元素等。 8. **JSON支持**:Prototype提供了...

    PROTOTYPE 官方+个人整理的帮助文档

    2. **对象和函数**:学习Prototype提供的各种对象和函数,如Array、String、Function、Object等的扩展,以及Ajax请求的实现。 3. **DOM操作**:熟悉Prototype如何简化HTML元素的选择、操作和事件处理,如`$()`, `$$...

    prototype1.4.doc

    4. **使用$H()函数**:创建一个Hash对象,Hash是一种键值对的数据结构,类似于JavaScript中的对象,但键可以是任意类型。 5. **使用$R()函数**:创建一个Range对象,用于表示一个数值范围,常用于迭代操作。 6. **...

    prototype从入门到精通

    Prototype是JavaScript库,它扩展了JavaScript的基本对象,提供了强大的面向对象编程功能,使得在JavaScript中进行复杂的编程操作变得更加简单。这个“prototype从入门到精通”的教程涵盖了从基础概念到高级特性的...

    prototype1.4中文手册

    这一部分进一步扩展了数组的功能,提供了更多的迭代方法,如 `select`, `reject`, `find`, `detect`, `include?`, `invoke`, `collect`, `map`, `inject`, `reduce`, `max`, `min`, `without`, `uniq`, `reverse`, `...

    你好世界

    "你好世界"在不同的编程语言中可能有不同的实现方式,但其核心功能始终不变,即向用户显示友好的问候。 在大多数编程语言中,"你好世界"程序的编写方式如下: 1. **Python**: ```python print("你好世界") ``` 2....

Global site tag (gtag.js) - Google Analytics