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

重庆建设工程信息网证书查询系统大地seo视频

重庆建设工程信息网证书查询系统,大地seo视频,广州天河网站建设公司,wordpress查看原文改成lodash的omit函数详解 - 从入门到精通 小白视角:什么是omit? omit在英文中意为"忽略"或"省略"。在编程中,它就是从一个对象中删除不需要的属性,返回一个新对象。 // 原始对象 const person {name: "…

lodash的omit函数详解 - 从入门到精通

小白视角:什么是omit?

omit在英文中意为"忽略"或"省略"。在编程中,它就是从一个对象中删除不需要的属性,返回一个新对象。

// 原始对象
const person = {name: "张三", age: 30, password: "123456"};// 使用omit删除password
const safeInfo = omit(person, ['password']);
// 结果: {name: "张三", age: 30}

初级前端:基本应用场景

1. 表单数据提交

就像当前代码中的用法,提交前去除不需要传给后端的字段:

const params = {...omit(formData.value, ['password2',  // 确认密码字段不需要提交'checkAgreement',  // 只用于前端验证// 其他不需要的字段]),password,  // 加密后的密码secretToken  // 额外添加的字段
};

2. 隐藏敏感信息

const userInfo = omit(userData, ['password', 'idNumber']);

中级前端:更深入的理解

1. 自己实现一个omit

function myOmit(obj, keysToRemove) {// 方法1: 使用解构和过滤return Object.fromEntries(Object.entries(obj).filter(([key]) => !keysToRemove.includes(key)));// 方法2: 使用reduce// return Object.keys(obj).reduce((result, key) => {//   if (!keysToRemove.includes(key)) {//     result[key] = obj[key];//   }//   return result;// }, {});
}

2. 性能考量

针对项目中的注册表单,分析不同方法的优劣:

// 方式1:使用omit (当前代码使用)
const params = {...omit(formData.value, ['password2', 'checkAgreement', /* 其他字段 */]),password,secretToken
};// 方式2:手动解构
const { password2, checkAgreement, smsCode, ...rest } = formData.value;
const params = {...rest,password,secretToken
};// 方式3:手动构造
const params = {operatorName: formData.value.operatorName,operatorId: formData.value.operatorId,// ... 列出所有需要的字段password,secretToken
};

方式1代码最清晰,方式2在字段少时效率最高,方式3最繁琐但最明确。

高级前端:深入源码与最佳实践

1. lodash-es的omit源码精髓

lodash的omit实际上是先通过baseClone创建一个浅拷贝,然后利用内部的basePick函数实现。它处理了大量边界情况,比如属性描述符、Symbol键、原型链等。

2. 树摇优化考量

使用lodash-es而非lodash的好处是支持树摇,只会打包你使用的函数:

// 推荐: 只引入需要的函数
import { omit } from 'lodash-es';// 不推荐: 引入全部
import _ from 'lodash';

3. 高性能场景中的取舍

当处理大型对象或频繁操作时,考虑这些替代方案:

// 1. 使用Object.create保留原型链
function fastOmit(obj, keys) {const result = Object.create(Object.getPrototypeOf(obj));for (const key in obj) {if (!keys.includes(key) && Object.prototype.hasOwnProperty.call(obj, key)) {result[key] = obj[key];}}return result;
}// 2. 使用Map/Set优化查找
function optimizedOmit(obj, keys) {const keysSet = new Set(keys);return Object.fromEntries(Object.entries(obj).filter(([key]) => !keysSet.has(key)));
}

4. TypeScript类型安全版本

function omit<T extends object, K extends keyof T>(obj: T, keys: K[]
): Omit<T, K> {const result = { ...obj };keys.forEach(key => delete result[key]);return result;
}

通过对表单处理这个场景深入思考,omit不仅是一个工具函数,更体现了函数式编程中数据不可变性的思想,以及前端开发中数据转换和适配的核心理念。


文章转载自:

http://1MuTKIIM.rjhts.cn
http://4qlFbWJY.rjhts.cn
http://h9zlghyy.rjhts.cn
http://eMgzswPe.rjhts.cn
http://gR7kFgjW.rjhts.cn
http://DLrgkcov.rjhts.cn
http://2kVqcB37.rjhts.cn
http://4UbvP7cE.rjhts.cn
http://4cNH4uTB.rjhts.cn
http://iuPG2Gk4.rjhts.cn
http://NaBB6o2J.rjhts.cn
http://4QMNIzoy.rjhts.cn
http://unNDsQo4.rjhts.cn
http://sLW56wGY.rjhts.cn
http://jUvbyfKn.rjhts.cn
http://c34fq5M8.rjhts.cn
http://mJ2TSXRM.rjhts.cn
http://CXKvW7Qo.rjhts.cn
http://AuZjT1dF.rjhts.cn
http://IsdtzfPp.rjhts.cn
http://NsoqoGQK.rjhts.cn
http://Qe1fMwvf.rjhts.cn
http://sKu321wB.rjhts.cn
http://LlP8adIa.rjhts.cn
http://cz6QiJrY.rjhts.cn
http://fG3Eto3O.rjhts.cn
http://y5Rfn8BB.rjhts.cn
http://9QaTSaKx.rjhts.cn
http://NzFAtnRh.rjhts.cn
http://z9sZaR6Y.rjhts.cn
http://www.dtcms.com/wzjs/626466.html

相关文章:

  • 杭州建平台网站公司网销怎么找客户
  • 做设计比较好的网站如何破解网站后台密码
  • 国外网站空间租用费用wordpress文章末尾加上相关文章
  • 哪些公司的网站做的漂亮开公司如何做网站推广页面
  • 十堰网站建设_网站制作_软件开发_网店培训 优易开发工具包
  • 旅游网站 功能网站建设渠道
  • 青岛建站价格物联网有哪些工作岗位
  • 免费的奖励网站有哪些商城网站建设论坛
  • 在线一键免费生成网页网站免费观看电视剧软件
  • 厦门住房建设局网站html 做网站的模板
  • 设计互动网站建设头条权重查询站长工具
  • 阿里云域名出售网络推广优化招聘
  • 杭州开发区网站建设西安优化外
  • 网站建设公司排名前十购物网站开发报告
  • 帝国网站地图插件建设工程合同补充协议范本
  • 青岛app网站开发更改wordpress标签分割符合
  • 做网站用什么软件编辑做淘宝客最好的网站是什么网站
  • 温州知名网站推广奉贤做网站公司
  • 做网站为职业生存不下去阿里云服务器添加网站
  • 无版权图片网站宝山手机网站制作公司
  • 网站本身对网站打开速度有何影响论基层门户网站的建设
  • 网站建设维护外包重庆景点排名前十
  • 个人网站制作品牌网站建设怎么收费
  • 开发网站比较好的公司shopify seo
  • 企业官方网站开发外包自己做外贸怎么找客户
  • 嵩明县住房和城乡建设局网站外贸接单网站
  • 网站建设全程揭秘 光盘文件兰州网络推广技术
  • 优质的常州网站建设西宁的网站设计
  • 贵阳中企动力做的网站免费网站站长查询
  • 怎么做多语言网站尚品宅配装修公司官网