이것이 초기 상태입니다.
const All = {
id : [ "a", "b", "c", "d", "e"],
count : [1, 2, 2],
}
나는 사용하여 All.id
분할 하고 싶습니다[ ["a"], ["b", "c"], ["d", "e"]]
All.count
나는 시도했다 R.map(R.take(All.count), All.id)
. 그러나 이것은 작동하지 않습니다.
내가 여기서 무엇을 놓치고 있습니까?
R.mapAccum을 사용하여 현재 위치와 이전 위치 사이의 섹션을 분할하고 누산기에서 이전 위치를 유지할 수 있습니다. R.last를 사용하여 결과 배열을 가져옵니다 (첫 번째 항목은 누산기).
const { pipe, mapAccum, slice, last } = R
const fn = ({ id, count }) => pipe(
mapAccum((acc, v) => [acc + v, slice(acc, acc + v, id)], 0),
last
)(count)
const All = { id : [ "a", "b", "c", "d", "e"], count : [1, 2, 2] }
const result = fn(All)
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.1/ramda.min.js" integrity="sha512-rZHvUXcc1zWKsxm7rJ8lVQuIr1oOmm7cShlvpV0gWf0RvbcJN6x96al/Rp2L2BI4a4ZkT2/YfVe/8YvB2UHzQw==" crossorigin="anonymous"></script>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다