输入:
[
{
temp: "24",
date: "2019-10-16T11:00:00.000Z"
}
]
输出:
[[new date("2019-10-16T11:00:00.000Z").getTime(), 24]]
如果我使用普通javascript进行了一些烦人的可变性问题。
使用ramda的好案例。
类似的东西:
const convertFunc = ...
const convertArr = R.map(convertFunc)
const result = convertArr(arr);
我被困住了。有什么想法可以使用Ramda功能吗?
答案 0 :(得分:2)
我不确定Ramda是否会添加任何实质性内容。特别是如果您可以使用参数解构:
map(({temp, date}) => [new Date(date).getTime(), temp],
[{ temp: "24",
date: "2019-10-16T11:00:00.000Z"}]);
//=> [[1571223600000, "24"]]
答案 1 :(得分:1)
您可以映射对象数组,并使用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>