Immutable.js에서 Map과 Seq의 차이점은 무엇입니까? 이 둘의 차이점을 보여주는 예제를 제공해 주시겠습니까?immutable.js :지도 대 Seq
0
A
답변
1
변경할 수 없음의 Map
은 쌍으로 이루어진 순서가 지정되지 않은 Iterable.Keyed
입니다.
// create a Map()
const map = Map({a: 1, b: 'Hello'});
// get a value for a specific key
console.log(map.get('b'));
> "Hello"
// set a new value and assign it to a new Map()
const newMap = map.set('c', 'This is a new key/value pair');
console.log(newMap.get('c'));
> "This is a new key/value pair"
는 방법 등 setIn()
, deleteIn()
, merge()
, map()
등 다양한 액세스를 제공한다. 또한 다른 변경 불가능한 데이터 유형으로 변환 될 수 있습니다. the docs about all of these methods.
변경할 수 없음 Seq
은 기본 데이터 구조를 필요로하지 않는 반복 가능한 값 시퀀스입니다. 이 Map
에서 첫 번째 큰 차이 그리고 당신은 그 정의에서 볼 수 있습니다
class Map<K, V> extends Collection.Keyed<K, V>
동안 :에서
class Seq<K, V> extends Iterable<K, V>
오른쪽 얻을 - 가서 우리가 Seq
하지 않는 것을 알 수 있습니다 주요 값은 키로, Map
과 큰 차이가 있습니다. 또 다른 주요 차이점은 Seq
구조의 요소를 추가, 업데이트 또는 삭제할 수 없다는 점입니다.
In addition, to quote Lee Byron:
서열은 지연 동작 표현이다. 이전 Iterable의 매우 가벼운 컨테이너 및 적용 할 일부 조작 (맵, 필터 등)으로 생각할 수 있으며, 필요한 경우에만 조작이 적용됩니다. Seq는 값 자체를 저장하지 않습니다.
Seq
은 가벼우므로 특정 로직 체인에서 성능이 다소 좋아질 수 있습니다. 또한 문서는 JavaScript 객체에 풍부한 컬렉션 API를 제공하는 데 자주 사용된다는 점에 유의하십시오.
관련 문제
- 1. immutable.js 개체 /지도/목록을 반복하는 방법
- 2. 도보 대 seq 처리를위한 맵
- 3. Immutable.js 유형 확장
- 4. 지도 대 mapM 동작
- 5. 레일 :지도 대 (: 속성)
- 6. Seq seq 형식이 F #
- 7. 지도 변환 i.text.toInt 대 vs toInt (i.text)
- 8. 지도 대 C++의 hash_map
- 9. Python : for 루프 대. 지도
- 10. 지도 대 클래스 속성 조언
- 11. reduutable with immutable.js
- 12. 는 mergeDeepIn() 목록입니다 immutable.js
- 13. Immutable.js 레코드의 메소드가 복제됩니까?
- 14. Immutable.js - 커스텀 getter 메소드
- 15. 복잡한 개체가있는 Immutable.js 성능
- 16. 지도
- 17. Seq toDictionary
- 18. Immutable.js 및 flatMap 동등 함수
- 19. Immutable.js - fromJS가지도 대신 레코드를 생성합니다.
- 20. 돌아 오는 및 Immutable.js - JSON
- 21. 지도 투영 픽셀 대 LatLng 스케일?
- 22. 지도 Fluent EF와 1 대 1의 관계
- 23. 지도 키로 문자열 대 해시 - 성능
- 24. 스파크 flatMapToPair 대 [필터 +지도 투 페어]
- 25. 지도 대 C++ (성능)의 멀티 맵
- 26. Clojure : cons (seq) vs. conj (목록)
- 27. 하스켈 :`지도 (a, b) c` 대`지도 a (지도 b c)`?
- 28. Seq [Option [A]]를 Seq [A]로 변환하는 방법?
- 29. Seq [Option [T]]를 Seq [T]로 변환
- 30. r - ggplot paired seq
'Seq'에는 HAMT를 만드는 대신 기본 데이터 구조를 래핑하는 이점도 있습니다. HAMT는 돌연변이가 생길 때 (즉, 데이터를 공유 할 때) 공간을 절약하기에 좋지만 변경되지 않는 일부 데이터를 저장하려는 경우 성능이 떨어집니다. 따라서이 경우'Map '에'Seq'를 사용하십시오. – Carlo