[Javascript] Querying an Immutable.js Map()
2023-09-14 09:00:54 时间
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:
//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);
相关文章
- JavaScript使用localStorage缓存Js和css文件
- ASPX导入JS,JavaScript乱码怎么办
- javascript对比两个数组,打印出差异值
- 第一百五十七节,封装库--JavaScript,预加载图片
- JavaScript Window History 浏览器的历史
- 在JavaScript中使用json.js:访问JSON编码的某个值
- [Javascript] let doesn't hoist -- false
- [Javascript] Check both prop exists and value is valid
- [Javascript] Querying an Immutable.js Map()
- [Javascript] Creating an Immutable Object Graph with Immutable.js Map()
- javascript (js)判断手机号码中国移动、中国联通、中国电信
- [Javascript] Use Number() to convert to Number if possilbe
- [Javascript] Intro to Recursion - Refactoring to a Pure Function
- [Javascript] Intro to the Web Audio API
- [Javascript] Linting JavaScript with ESLint
- QRCode.js:使用 JavaScript 生成二维码
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
- Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7
- 【微搭低代码】Javascript基础知识-函数及模块介绍
- 从零开始学_JavaScript_系列(20)——js系列<7>(函数原型的两种声明方式、函数的作用域)
- JavaScript基础&实战 JS中正则表达式的使用
- 初探JavaScript(二)——JS如何动态操控HTML
- JavaScript事件收集
- JS/JavaScript 调试方法