js函數式編程學習(二)=> json數據取值

對獲取的json數據進行統一加工

//函數方法================
//模擬數據
let arr = [
    {a:1,b:2,c:3},
    {a:1,b:2,c:3},
    {a:1,b:2,c:3}
]

//定義高階抽象函數
const map = (arry,fn) =>{
    let result = [];
    for(let value of arry){
        result.push(fn(value))
    }
    return result;
}

//取出所需數據
let needArr = map(obj,(item)=>{
    return {a:item.a,b:item.b}
})

//結果
[ {a: 1, b: 2},{a: 1, b: 2},{a: 1, b: 2}]


//非函數方法===============
//模擬數據
let arr = [
    {a:1,b:2,c:3},
    {a:1,b:2,c:3},
    {a:1,b:2,c:3}
]
needArr = () =>{
        let _arr = [];
        for(let i =0;i<arr.length;i++){
            let {a} = arr[i];
            let {b} = arr[i];
            let _obj = {a:a,b:b};
            arr.push(_obj)
    }
    return _arr;
} 

console.log(needArr());

//結果
[ {a: 1, b: 2},{a: 1, b: 2},{a: 1, b: 2}]


複製代碼

函數式思惟就是封裝可複用方法,經過for of 循環把數組每一項傳出,在以參數形式引入的函數中執行,返回想要的結果,函數方法複用性極高,並且當數據接入時候可修改操做靈活,而非函數方法,直接對數據進行操做,函數複用性下降,並且不方便的是靈活性太差,若是後臺傳入大量數據,邏輯會變得更加臃腫,很難維護。前端

一點感悟

把前端這個崗位形容成數據操做工,一點也不含糊,不管從剛開始的jq,Zepto,bootstrap等到後來的Angular,react,vue等新興框架的一統前端,其實無非是變着法的優化對數據的加工處理,以方便渲染頁面操做DOM,不斷的優化處理數據的能力而已,因此處理數據快,好,準成了現代前端框架的最基本的要求。在這樣的背景下,函數式編程方法變得尤其重要。vue

相關文章
相關標籤/搜索