사실 프로토타입 1.4의 열거형 객체 부분을 단순화한 버전입니다. 코드를 먼저 게시하고 나중에 하나씩 설명하겠습니다
. 최근 Python을 배우면서 항상 Python에 놀랐습니다. List는 유연하고 도 배열인데 왜 JavaScript는 Python만큼 유연하지 못합니까? (실제로 다음 프로토타입 1.4가 구현되었지만 프로토타입이 너무 뚱뚱해서 알다시피 나는 뚱뚱한 여자에게 집착한다 관심 없음) 그래서 다음과 같은 코드가 있습니다....
//最简单的例子 var arr=[3,1,5,2,7] var arr2=arr.map (함수(x){return x*x}) alert(arr2)
//取整 var arr3=[3.121,1.555,5.8,2.0,7.9] var arr4=arr3.map(Math.round) alert(arr4)
//返回数组中每个字符串적 속도 var a1=["dasfsdfas","dasffdfs ","ds","2","cccccc"] var a2=a1.map(function(x){return x.length}) alert(a2)
//这个例子比较常用,比如用 ajax抓了一个页면,怎么执行页면中所有script块呢? var f=function(s){return s.replace(/^/,"").replace(/$/,"")} o.value.match(/(?:)((n|r|.)*?)(?:)/gi).map(f).each( eval)
//더 복잡한 예 // http://community.csdn.net/Expert/topic/4796/4796192.xml?temp=.2977564
<script> <br>//함수 f를 true로 만드는 첫 번째 요소를 가져오고, 없으면 null을 반환합니다. <br>Array.prototype.find = function(f) { <br> for(var i=0;i<this.length;i ) if (f(this[i])) return this[i] <br> return null <br>} <br><br>/ /모든 요소 가져오기 함수 f를 true로 만들고, 찾을 수 없으면 빈 배열을 반환합니다. <br>Array.prototype.findAll = function(f) { <br> var arr=[] <br> for(var i=0; i<this.length ;i ) if (f(this[i])) arr.push(this[i]) <br> return arr <br>} <br><br>//배열에서 짝수 찾기 <br>var arr=[3,1,5,2,7,8,1,0,10] <br>var v=arr.find(function(x){return x%2==0}) <br>alert( v) <br><br>//모든 짝수 찾기<br>var arr2=arr.findAll(function(x){return x%2==0}) <br>alert(arr2) <br><br></script>