国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

一個對于Array的簡單擴展

2024-09-06 12:44:46
字體:
來源:轉載
供稿:網友
其實就是 prototype 1.4中 枚舉對象部分 的簡化版本, 
先貼代碼,等下再一一解釋,對初學者可能有幫助 

最近一直在學習Python,一直感嘆于python中 list的靈活, 
同樣都是數(shù)組,為什么javascript不能和python中的一樣靈活呢, 
(其實下面這些 prototype 1.4已經實現(xiàn)了,不過 prototype太胖了,你知道的,我對胖女人不感興趣) 
于是就有了下面的代碼.....  

代碼如下:
<script>
Array.prototype.map = function(f) {  
  var arr=[]
  for(var i=0;i<this.length;i++) arr.push(f(this[i]))
  return arr  
}

Array.prototype.each = function(f) { 
  for(var i=0;i<this.length;i++) f(this[i])
}

Array.prototype.find = function(f) {  
  for(var i=0;i<this.length;i++)  if (f(this[i])) return this[i]
  return null
}

Array.prototype.findAll = function(f) { 
  var arr=[]
  for(var i=0;i<this.length;i++)  if (f(this[i])) arr.push(this[i])
  return arr
}

Array.prototype.getPart = function(f) {   
  for(var i=0;i<this.length;i++)  if (f(this[i])) return [this.slice(0,i+1),this.slice(i+1)]
}


Array.prototype.all = function(f) { 
  for(var i=0;i<this.length;i++)  if (!f(this[i])) return false
  return true
}

Array.prototype.any = function(f) { 
  for(var i=0;i<this.length;i++)  if (f(this[i])) return true
  return false
}

Array.prototype.grep = function(regex,f) { 
  var arr=[]
  for(var i=0;i<this.length;i++){
     if (this[i].toString().match(regex)) arr.push((f || function(x){return x})(this[i]))
  }  
  return arr
}

Array.prototype.include = function(v) { 
  for(var i=0;i<this.length;i++)  if (this[i]==v) return true
  return false
}
Array.prototype.indexOf = function(v) { 
  for(var i=0;i<this.length;i++)  if (this[i]==v) return i
  return -1
}

Array.prototype.inject = function(v,f) { 
  var vv=v
  for(var i=0;i<this.length;i++)  vv=f(vv,this[i])
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 芦山县| 宁明县| 墨玉县| 腾冲县| 兖州市| 淮滨县| 利津县| 嘉义县| 漠河县| 稷山县| 安宁市| 泾阳县| 得荣县| 微博| 阜平县| 宜君县| 南郑县| 马鞍山市| 启东市| 灵石县| 城固县| 遵化市| 淮安市| 宜黄县| 渝中区| 东安县| 中宁县| 信宜市| 西藏| 阳谷县| 太康县| 上犹县| 会东县| 修水县| 肃宁县| 剑河县| 岗巴县| 滦平县| 衡水市| 兰考县| 东至县|