查看文章 |
函数式编程之菜鸟体验2
2007年10月17日 星期三 下午 01:36
如果现在有个数组,比如 a=[ [54,5,456,6,89], [12,51,515,32,15],[98,45,68,24,6] ]; 现在要变成一个3行5列的表格,要拼个html,你可能很快想到的是拼串,但是我说不,看我怎么实现的 当然为了实现函数式编程,少不了需要调用map invoke等方法,默认引入Prototype库 我会首先添加一个原形方法 Object.prototype.wrapNode=function(tag){return "<"+tag+">"+this+"</"+tag+">"} 这个方法能够实现拼出来任何html元素的html文本,下面开始写代码,首先创建td temp=a.map(function(node){return node.invoke("wrapNode","td").join("")}) 这行干什么了就是通过map给内部数组调用invoke方法去各自wrapNode td,最后join一下,结果是一个2文本数组 继续 temp=temp.invoke("wrapNode","tr").join("") 这行干什么,就是给2个td文本串加上tr的tag,最后再join一下,最后 result=temp.wrapNode("table") 最后给外面括上table,非常OO的风格,函数式体验菜鸟记结素 |
最近读者: