ramda의 sequence
을 사용하여 사전을 트래버스 할 수 있습니까?ramda`sequence`를 사용하여 사전을 탐색하십시오.
나는 빈리스트
R.sequence(R.of, cars)
[[]]
의 목록 내가 만약에 R.sequence
결과를 사용하여 횡단 결과
all_cars = [
{color: 'yellow', year: 2017, model: 'coup'},
{color: 'yellow', year: 2017, model: 'sedan'},
{color: 'red', year: 2017, model: 'coup'},
{color: 'red', year: 2017, model: 'sedan'}
]
을 생산하고 싶습니다
cars = {color: ['yellow', 'red'], year: [2017], model: ['coup', 'sedan']}
다음 사전
을 감안할 때 올바른 카티 션 곱을 생성하는 사전 대신 목록을 트래버스하지만 res ults는 (물론) 사전 대신 목록입니다.R.sequence(R.of, [['yellow', 'red'], [2017], ['coup', 'sedan']])
[["yellow", 2017, "coup"], ["yellow", 2017, "sedan"], ["red", 2017, "coup"], ["red", 2017, "sedan"]]
그래도 작동하지만 사전을 활용할 환상적인 'Traversable'인스턴스가 있어야합니다. – Cirdec
Ramda는 [토론 한] (https://github.com/ramda/ramda/issues/2046) 여러 번 있습니다. 비가 교환적인 함수를 가질 수 있고 여전히 {a : 1, b : 2}와 {b : 2, a : 1}를 고려하기를 원할 때 어떤 물건을 접을 수있는 것도 어렵습니다. 같은. –
미친. '{a : 1, b : 2} = {b : 2, a : 1} '을 고려한다고해서'Traversable '에 대한 표준 순서를 선택하는 것을 배제하지 않습니다. – Cirdec