1-8-1、模擬ES6中的map函數

我這個歲數的程序圓,學點東西不容易,不比你們小年輕啊!!!

所以。

來吧。說明一下,1-7內容是函數式編程中高階函數的概念解釋,我們已經把它融合到了1-6中,所以1-7就不再單獨做敘述。

回顧:map()方法,es6中循環數組的方法。

直接上代碼,從代碼進行分析吧。

const map = (arr, fn) => {
	let result = [];
	for (let value of arr) {
		result.push(fn(value));
	}
	return result;
};

let arr = [1, 2, 3, 4];
// 對數組元素進行,求平方操作
let r = map(arr, (v) => v * v);
console.log(arr); // 結果:[ 1, 4, 9, 16 ]

上邊自定義了一個具有兩個參數的map函數:一個數組,一個高階函數;然後通過調用map函數,來給每個數組元素求平方值。
這裏,我們不僅僅可以求平方,還可以對map函數進行任意我們想要的操作,使map函數更加靈活。
這就是高階函數的意義所在。

每天寫寫博客,果然就是超越自己。哈哈哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章