es5 Array 的filter 和 map實際用途
阿新 • • 發佈:2019-01-02
我舉一個簡單的新增模組的例子: 這個是在vue 中寫得
一個簡單的功能 把打鉤的模組拿出來傳送給 後端加個
假設 後端給的資料是 :
data:[{id:1,name:"評論管理"},{id:1,name:"資源包管理"},{id:1,name:"資源庫管理"}]
我們先用map 給 data 的每個物件構造一個checked 屬性:
data= data.map(item =>item.checked = false)
現在把data 遍歷到 每個input 上 , 打鉤
我們用filter 把打鉤的資料篩選出來:
data = data.filter(item =>item.checked == true)
其實在vue 中有更簡潔的處理方式 vue文件
filter 可以過濾屬性 map 可以 新增 合併屬性 運用得當 可以簡潔的很多程式碼
比如 axios.all()
function makeRequest(obj){
return axios.delete(api_url+obj.id)
}
let requests = data.map(makeRequest)
axios.all(requests).
then(axios.spread(function (a,b){
}))