iT邦幫忙

2018 iT 邦幫忙鐵人賽
1
Software Development

30天快樂學習 Functional Programming系列 第 0

已刪除 Higher order Function = { Map, Filter } 與 Recursion

系列文
30天快樂學習 Functional Programming0
1

Zip:

const zip = array1 =>
	array2 => {
		if (array1.length == 0 || array2.length == 0) {
            return []
        } else {
            const [x, ...xs] = array1
            const [y, ...ys] = array2
            return [[x, y], ...zip(xs)(ys)]
        }
    }

Quick Sort:

const quickSort = array => {
	if (array.length < 2) {
        // 當 length == 0 || length == 1 時停止
		return array
	} else {
		const [x, ...xs] = array
        // 小於 x 的放左邊
		const left = xs.filter(el => el < x)
		// 大於 x 的放右邊
        const right = xs.filter(el => el >= x)
		// 黏起來!
        return [...quickSort(left), x, ...quickSort(right)]
	}
}
0
Xuan
iT邦新手 5 級 ‧ 2017-12-20 20:33:04

QQ
越來越難了
新手有點看不懂了

0
nihilitypeo
iT邦新手 5 級 ‧ 2017-12-23 19:34:26

要花點腦力@@ 感謝分享!

我要留言

立即登入留言