1. 程式人生 > >Js中Array 函數使用方法

Js中Array 函數使用方法

ever filter AR str reference oba mozilla blank 所有

遇到數組有關操作,腦子第一反應不要再是嵌套 for 循環了,Array 類型提供了一些遍歷有關的函數。

  • Array.prototype.forEach() : 把數組每個元素丟到一個處理 function 裏面,相當於 for 循環。
  • Array.prototype.every() : 所有數組元素處理後全部 return true,那麽就 return true,有點像 &&。
  • Array.prototype.some() : 只要一個數組元素處理後 return true,那麽就 return true,有點像 ||。
  • Array.prototype.filter() : 將處理時 return true 的數組元素拿出來組成一個新數組。
  • Array.prototype.map() : 對每個數組元素進行處理,並組成一個新數組。
  • Array.prototype.reduce() : 像一個累加器一樣,把數組元素全部加起來(從左向右)。
  • Array.prototype.reduceRight() : 同上,順序從右向左。
  • Array.prototype.square = function () { return this.map(function(n) { return n*n; }); }
  • Array.prototype.average = function () { return this.sum() / this.length; }
  • Array.prototype.sum = function () { return this.reduce(function(a, b) { return a + b; }, 0); }
  • Array.prototype.even = function () { return this.filter(function(item) { return 0 == item % 2; }); }
  • Array.prototype.odd = function () { return this.filter(function(item) { return 0 != item % 2; }); }

例如有道題是要求判斷某個值是否存在與一個多層數組(locate([‘a’,’b’,[‘c’,’d’,[‘e’]]],’e’); // should return true)。

var locate = function(arr, v) {   return arr.some(function(e) { return Array.isArray(e) ? locate(e, v) : e === v; }); } 再來一個統計字符串每個字母出現次數的函數: function count (string) {   var count = {};   string.split(‘‘).forEach(function(s) {     count[s] ? count[s]++ : count[s] = 1;   });   return count; }

Js中Array 函數使用方法