使用ramda修改数组中的数据
Using ramda to modify data in array
输入:
[
{
temp: "24",
date: "2019-10-16T11:00:00.000Z"
}
]
输出:
[[new date("2019-10-16T11:00:00.000Z").getTime(), 24]]
如果我在 vanilla 中这样做,会遇到一些恼人的可变性问题 javascript。
使用 ramda 的好案例。
类似于:
const convertFunc = ...
const convertArr = R.map(convertFunc)
const result = convertArr(arr);
我卡住了。有什么想法可以使用 Ramda 函数吗?
我不确定 Ramda 是否会添加任何实质内容。特别是如果你可以使用参数解构:
map(({temp, date}) => [new Date(date).getTime(), temp],
[{ temp: "24",
date: "2019-10-16T11:00:00.000Z"}]);
//=> [[1571223600000, "24"]]
可以映射对象数组,通过R.evolve
将日期字符串通过Date.parse()
转换为时间,然后获取R.props
转换为数组数组.
const { map, pipe, evolve, identity, props } = R
const fn = map(pipe(
evolve({ temp: identity, date: Date.parse }),
props(['date', 'temp'])
))
const data = [{temp: "24",date: "2019-10-16T11:00:00.000Z"}]
const result = fn(data)
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>
输入:
[
{
temp: "24",
date: "2019-10-16T11:00:00.000Z"
}
]
输出:
[[new date("2019-10-16T11:00:00.000Z").getTime(), 24]]
如果我在 vanilla 中这样做,会遇到一些恼人的可变性问题 javascript。
使用 ramda 的好案例。
类似于:
const convertFunc = ...
const convertArr = R.map(convertFunc)
const result = convertArr(arr);
我卡住了。有什么想法可以使用 Ramda 函数吗?
我不确定 Ramda 是否会添加任何实质内容。特别是如果你可以使用参数解构:
map(({temp, date}) => [new Date(date).getTime(), temp],
[{ temp: "24",
date: "2019-10-16T11:00:00.000Z"}]);
//=> [[1571223600000, "24"]]
可以映射对象数组,通过R.evolve
将日期字符串通过Date.parse()
转换为时间,然后获取R.props
转换为数组数组.
const { map, pipe, evolve, identity, props } = R
const fn = map(pipe(
evolve({ temp: identity, date: Date.parse }),
props(['date', 'temp'])
))
const data = [{temp: "24",date: "2019-10-16T11:00:00.000Z"}]
const result = fn(data)
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>