forEach,map,filter的區別使用

2022-08-26 08:54:09 字數 1085 閱讀 9743

相同之處

foreach

最早知道這個方法的時候是使用jquery的迭代方法each,有興趣的朋友可以去了解一下,基本的使用情況都是差不多的。首先舉乙個常用的例子。

var array = [[1,2,3,4],[2,4,5,6]]

array.foreach(function (item,i,arr) )12

3456

78item是每次遍歷的子元素,i是下標,arr這個用的比較少,實際發現指向的就是當前遍歷的陣列array

map這個方法的使用跟foreach沒有什麼區別,而且引數都是一樣的。

filter(過濾器)

這個也是跟foreach相同的引數。用法稍微有點區別。

不同之處

1、是否有返回值

foreach

var arr = [[1,2,3,4],[2,4,5,6]]

console.log(arr.foreach(function (item, i) )); 12

345結果如下:

mapvar arr = [[1,2,3,4],[2,4,5,6]]

console.log(arr.map(function (item, i) ));12

345結果如下:

filter

var arr = [[1,2,3,4],[2,4,5,6]]

console.log(arr.filter(function (item, i) ));12

345結果如下:

可以從中看到foreach的返回值是undefined,而map和filter的返回值確實相同的。那麼map與filter到底有什麼不同之處呢?

var a = [1,2,3,4,5,6,7,8,9,10]

console.log(a.map(function (item, i) ));

console.log(a.filter(function (item, i) ));12

3456

78910

1112

分別輸出的結果是

filter返回的是乙個新的陣列,而map返回的是原來的陣列。將原來的陣列對於條件返回。

forEach, map, filter方法區別

聽說for迴圈已經成了菜鳥標配。瑟瑟發抖 趕緊找來資料補一補 1,foreach迴圈,迴圈陣列中每乙個元素並採取操作,沒有返回值,可以不用知道陣列長度 2,map函式,遍歷陣列每個元素,並 操作,需要返回值,返回值組成新的陣列,原陣列不變 3,filter函式,過濾通過條件的元素組成乙個新陣列,原陣...

Oracle RAID區別使用

我們在部署伺服器時通常都免不了 raid 陣列級別的選擇,raid 技術發展到今天已經有數十種之多了,但我們在生產系統上常用的也就只有幾種,如0,1,5,0 1。讀者朋友可能對各個級別的 raid 原理已經非常熟悉了,甚至能背誦出來,但面臨真正在生產系統中選擇最適合應用系統的 raid 級別時,可能...

Oracle RAID區別使用 2

raid 級 優缺點描述 不用raid raid0 熟悉raid 0的人都知道,它的讀寫速度是最高的,因為資料是分成小塊後,跨多塊硬碟同步寫入多塊硬碟的,這樣寫入速度就非常快了,如果你不信,可以將三塊硬碟組成 raid 0,然後安裝作業系統,你會發現安裝時間減少了好多。當然,讀取資料的速度相對單塊硬...