用ramda來整理資料吧 #2櫻桃漲價了
資料情境
我們有一個水果價目表,
現在想要把櫻桃的價錢改成 40
let data = [
{ name: "蘋果", price: 30 },
{ name: "香蕉", price: 12 },
{ name: "櫻桃", price: 25 },
]
作法
1. 換object
let res = R.map(R.when(R.propEq('name', '櫻桃'), () => { return { name: '櫻桃', price: 40 }; }))(data)
2. 只換價錢(like)
// 當"name"是"櫻桃"的時候,就把"price"換成40
let res = R.map(R.when(R.propEq("name", "櫻桃"), R.assoc("price", 40)))(data)
補充
R.map()
是curry的形式,也可以寫成這樣
let res = R.map(R.when(R.propEq("name", "櫻桃"), R.assoc("price", 40)), data)
Share