当前位置: 首页 > 工具软件 > Fromjs > 使用案例 >

[Immutable.js] Using fromJS() to Convert Plain JavaScript Objects into Immutable Data

邓欣德
2023-12-01

Immutable.js offers the fromJS() method to build immutable structures from objects and array. Objects are converted into maps. Arrays are converted into lists. The fromJS() method can also take a reviver function for custom conversions.

 

 Object to Immutable Map:
 
check by isMap():
const plainJSObject = {
      title: "Go to grocery",
      text: "I need milk and eggs",
      completed: false,
      category: {title: "House Duties", priority: 10}
    };
    
    const immutableTodo = Immutable.fromJS(plainJSObject);
    
    expect(Immutable.Map.isMap(immutableTodo)).to.be.true

 

We cat get value by getIn() method:

expect(immtableTodo.getIn(["category", "title"])).to.equal("House Duties");

 

Array to Immutable List:

check by isList():

const plainJSArray = [
      "Go to grocery",
      "Buy milk and eggs",
      "Help kids with homework",
      ["Buy Lemons", "Make Lemonade"]
    ];
    
    const immutableTodoList = Immutable.fromJS(plainJSArray);
    expect(Immutable.List.isList(immutableTodoList)).to.be.true;

 

get value by getIn():

expect(immutableTodoList.getIn([3, 1])).to.equal("Make Lemonade")

 

Convert a plain array to Immutable Map:

const plainJSArray = [
      "Go to grocery",
      "Buy milk and eggs",
      "Help kids with homework",
      ["Buy Lemons", "Make Lemonade"]
    ];

    const immutableTodoList = Immutable.formJS(plainJSArray, (key, value)=>{

         return value.toMap();
    });


    expect(immutableTodoList.getIn([3,1])).to.equal("Make Lemonade");

 

转载于:https://www.cnblogs.com/Answer1215/p/5205810.html

 类似资料:

相关阅读

相关文章

相关问答