当前位置: 首页 > news >正文

解构赋值的理解

为什么会想说解构赋值
因为我第一次真实的用到代码中 之前都是在说面试题的时候理解到位

https://editor.csdn.net/md/?not_checkout=1&spm=1018.2226.3001.4503&a=1&b=2&c=4&d=5

比如说 现在后端给了我一个链接 然后请求接口的时候把链接上的东西都带过去这个时候我就想到截取 但是怎么截取合适呢 就遇到了解构赋值

function getQueryParams(url) {// 创建一个空对象来存储查询参数const queryParams = {};// 使用 URL 构造函数解析 URLconst parsedUrl = new URL(url);// 获取查询参数部分const searchParams = new URLSearchParams(parsedUrl.search);// 遍历查询参数并将其添加到对象中for (const [key, value] of searchParams.entries()) {queryParams[key] = value;}return queryParams;
}

如上述 const [key, value] of searchParams.entries() 就是运用到了解构赋值
如果说上面代码看不懂 可以看下面

function getQueryParams(url) {// 创建一个空对象来存储查询参数const queryParams = {};// 找到问号的位置,截取问号后面的部分const queryString = url.split('?')[1];// 如果没有查询参数,直接返回空对象if (!queryString) {return queryParams;}// 将查询字符串按 & 分割成数组const pairs = queryString.split('&');// 遍历每个键值对pairs.forEach(pair => {// 将键值对按 = 分割const [key, value] = pair.split('=');// 将键值对添加到对象中 queryParams[key] = value;});return queryParams;
}

解构赋值就是允许你从数组或对象中提取值,并将这些值直接赋给一个或多个变量。这种语法使得从复杂数据结构中提取数据变得更加简洁和灵活,提高了代码的可读性和可维护性。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python办公自动化:使用`Python-PPTX`创建和操作表格
  • 数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践
  • JAVA_12
  • 一文搞懂Window、PhoneWindow、DercorView、WindowManage
  • C#计算模数转换器(ADC)的参数DNL、INL、SNR等
  • SQL Server Service Broker故障排除
  • InternVL 多模态模型部署微调实践
  • 骁龙CPU简介
  • Java-数据结构-时间和空间复杂度 (ಥ_ಥ)
  • 耦合和内聚
  • MySQL——多表操作(四)(2)带 EXISTS 关键字的子查询
  • 大数据分析与挖掘技术实训室解决方案
  • 【杂谈】新能源和智能车
  • 如何使用 Go 语言开发微服务
  • 3.4.1 爬取王者荣耀英雄皮肤实战
  • 【译】JS基础算法脚本:字符串结尾
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • download使用浅析
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • 初识 webpack
  • 反思总结然后整装待发
  • 关于Flux,Vuex,Redux的思考
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 时间复杂度与空间复杂度分析
  • 实战|智能家居行业移动应用性能分析
  • Spring第一个helloWorld
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (python)数据结构---字典
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (七)理解angular中的module和injector,即依赖注入
  • (十三)Flask之特殊装饰器详解
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Reactor简单使用教程
  • .NET 给NuGet包添加Readme
  • .net 提取注释生成API文档 帮助文档
  • .net反编译的九款神器
  • .Net语言中的StringBuilder:入门到精通
  • .php文件都打不开,打不开php文件怎么办
  • ??myeclipse+tomcat
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [ Socket学习 ] 第一章:网络基础知识
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [2544]最短路 (两种算法)(HDU)
  • [Android]常见的数据传递方式
  • [android学习笔记]学习jni编程
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [codevs 1288] 埃及分数 [IDdfs 迭代加深搜索 ]