[Immutable.js] Differences between the Immutable.js Map() and List()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Immutable.js] Differences between the Immutable.js Map() and List()相关的知识,希望对你有一定的参考价值。

The Immutable.js Map() is analogous to a javascript Object or Hash since it is comprised of key-value pairs. The Immutable.js List() is analogous to a Javascript Array and contains many of the same native methods. Let‘s compare the two and dive into the basics of List().

 

Map: From Javascript plain object

Add item to the immtuable map:

let todo  = {
  id: 10,
  title: "Immutable,js"
};


let todos = Immutable.Map();
todo.set(todo.id, todo);

 

get item from Immtuable Map:

let selectedTodo = todos.get(todo.id);

 

List: From Javascript plain array

Add item to the Immutable List:

let shoppingList = Immutable.List();

let item = "Milk";

shoppingList.push(item);

 

get item from the Immutable List:

let selectedItem = shoppingList.get(0);

 

create List() from series of values:

// bad:
let list = Immutable.List.of("Milk", "Eggs", "Detergent", "Bread", "Steak"); // hard code a list of iterms

// good:
const todoItems = ["Milk", "Eggs", "Detergent", "Bread", "Steak"];
let list = Immutable.List.of(...todoItems);



    var count = 0;
    _.each(todoItems, (item) => {
      expect(list.get(count)).to.equal(item);
      count++;
    })
    

 

以上是关于[Immutable.js] Differences between the Immutable.js Map() and List()的主要内容,如果未能解决你的问题,请参考以下文章

[Immutable.js] Converting Immutable.js Structures to Javascript and other Immutable Types

[Immutable.js] Exploring Sequences and Range() in Immutable.js

[Immutable.js] Working with Subsets of an Immutable.js Map()

[Immutable.js] Lightning Fast Immutable.js Equality Checks with Hash Codes

[Immutable.js] Transforming Immutable Data with Reduce

Immutable.js使用教程记录