[Javascript] Querying an Immutable.js Map()
2015-10-18 19:42
633 查看
Learn how to query an Immutable.Map() using get, getIn, has, includes, find, first and last. These are powerful operators that make finding data in an object graph pain free.
has, includes, contains:
first(), getIn()
find():
has, includes, contains:
//has() var map = Immutable.Map({a: '10'}); console.log(map.has("a")); //true //includes / contains var todo = { id: +new Date(), name: "name", content: "content" }; var todo2 = { id: +new Date(), name: "name", content: "content" }; var todos = Immutable.Map(); todos = todos.set(todo.id, todo); console.log(todos.contains(todo)); //true console.log(todos.contains(todo2)); //false
first(), getIn()
// first(), getIn() //Create tow Maps var todos = Immutable.Map(); var todos2 = Immutable.Map(); //Create new Data var todo1 = { id: +new Date(), name: "name", content: "content" }; var todo2 = { id: +new Date()+1000, name: "name", content: "content" }; var todo3 = { id: +new Date()+3000, name: "name", content: "content" }; var todo4 = { id: +new Date()+4000, name: "name", content: "content" }; //Add data to the map todos =todos.set(todo1.id, todo1); todos= todos.set(todo2.id, todo2); todos2=todos2.set(todo3.id, todo3); todos2=todos2.set(todo4.id, todo4); //Wrap maps in another map var multipleTodoStates = Immutable.Map({ "todo1": todos, "todo2": todos2 }); //Get first todo's id in the first map const todoID = todos.first().id; console.log(todoID); //Try to find the first todo in deep map //"todo1" is the first level map //then downto the second level to find the id //If nohting return null var res = multipleTodoStates.getIn(["todo1", todoID], null); var res2 = multipleTodoStates.getIn(["todo2", todoID], null); console.log(res); console.log(res2);
find():
//find() var todo = { id: +new Date(), name: "Wan", content: "Finish it" }; var todos = Immutable.Map(); todos = todos.set(todo.id, todo); var foundTodo = todos.find( (t)=>{ return t.id === todo.id }, null, null) ; console.log(foundTodo.id);
相关文章推荐
- servlet中filter的的异步问题以及JSP与servlet配合时filter的注意
- js闭包
- javascript于boolean类型转换,运营商&&和|| 返回值
- [Javascript] Modifying an Immutable.js Map()
- 服务器和前台采用JSON通讯
- javascript函数
- JSON数据解析(转)
- js输出console
- HTML / JavaScript / PHP 实现页面跳转的几种方式
- 一点用JS写控制权限的心得
- [LeetCode][JavaScript]Remove Duplicates from Sorted Array
- [LeetCode][JavaScript]Remove Duplicates from Sorted Array II
- JS编程去掉注释部分
- JSP之应用Servlet过滤器进行身份验证
- JSON数据解析(GSON方式) (转)
- html+js实现四则元算计算器
- js错误处理
- Ember.js 入门指南——定义模型
- js拖拽实现
- javascript 实现一个网页,然后计算出有多少剩余时间的倒计时程序