前端开发总结的一些技巧和实用方法

本文主要介绍一些JS中用到的小技巧和实用方法,可以在日常Coding中提升幸福度,也可以通过一些小细节来增加代码可读性,让代码看起来更加优雅,后续将不断更新

1.数组 map 的方法 (不使用Array.Map)

Array.from 还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。如下:

const cities = [ { name: 'Paris', visited: 'no' }, { name: 'Lyon', visited: 'no' }, { name: 'Marseille', visited: 'yes' }, { name: 'Rome', visited: 'yes' }, { name: 'Milan', visited: 'no' }, { name: 'Palermo', visited: 'yes' }, { name: 'Genoa', visited: 'yes' }, { name: 'Berlin', visited: 'no' }, { name: 'Hamburg', visited: 'yes' }, { name: 'New York', visited: 'yes' } ]; const cityNames = Array.from(cities, ({ name}) => name); console.log(cityNames); //["Paris", "Lyon", "Marseille", "Rome", "Milan", "Palermo", "Genoa", "Berlin", "Hamburg", "New York"]

2.有条件的对象属性

不再需要根据一个条件创建两个不同的对象,可以使用展开运算符号来处理。

let getUser = (emailIncluded) => { return { name: 'John', surname: 'Doe', ...emailIncluded && { email : 'john@doe.com' } } } const user = getUser(true); console.log(user); // outputs { name: "John", surname: "Doe", email: "john@doe.com" } const userWithoutEmail = getUser(false); console.log(userWithoutEmail); // outputs { name: "John", surname: "Doe" }

3. 动态属性名

const dynamic = 'email'; let user = { name: 'John', [dynamic]: 'john@doe.com' } console.log(user); // outputs { name: "John", email: "john@doe.com" }

4.函数默认参数妙用

场景:假设我们又如下的初始化工作需要进行,在代码的最开始我们需要对config对象进行初始化工作

function initConfig(config) { config.map((item) => { item.content = Number(item.content) }) }

如果我们不小心忘记给它传递参数,浏览器会报如下错误,提示我们 config 没有 map 方法,因为此时 config 为 undefined

解决办法:

我们可以给函数的参数加上一个默认的值

function initConfig(config = []) { config.map((item) => { item.content = Number(item.content) }) }

5.监听DOM元素是否在可视区域内

场景:如果打开网页,DOM元素在可视区域内,就不展示一个div,反之如果需要滑动网页才能让这个DOM元素出现在可视区域,就展示这个div。这里分享一个vue的做法。

mounted(){ let recommend = document.getElementById('replyList'),that = this; let observer = new IntersectionObserver(function(entries){ entries.forEach( function(element, index) { if (element.isIntersecting ) { //用recommendShow这个布尔值来控制DOM是否显示 that.recommendShow = false; } else { that.recommendShow = true; } }); }, { root: null, threshold:[0, 1] }); observer.observe(recommend) }

16.谷歌浏览器A标签跳转新标签导致sessionStorage无效

解决方法:主动添加 rel=“opener” 属性即可,如下。

<a href="" rel="opener"></a>

17.Array.find

如果你曾经编写过普通 JavaScript 中的 find 函数,那么你可能使用了 for 循环。在 ES6 中,介绍了一种名为 find()的新数组函数,可以实现 for 循环的简写。

const pets = [ { type: 'Dog', name: 'Max'}, { type: 'Cat', name: 'Karl'}, { type: 'Dog', name: 'Tommy'}, ] function findDog(name) { for(let i = 0; i

简写为

let = pet = pets.find(pet => pet.type ==='Dog' && pet.name === 'Tommy'); console.log(pet); // { type: 'Dog', name: 'Tommy' }

8.数组提取不重复的新值

如果有下面两个数组,需要提取第二个中与第一个数组中不重复的新值,也就是单独把5,6提取出来

let arr1 = [1,2,3]; let arr2 = [2,5,6]; let arr3 = []; arr2.forEach(item=>{ if(!arr1.includes(item)){ arr3.push(item); } }) console.log(arr3);//[5,6]

Git仓库:https://gitee.com/ZhongBangKeJi/CRMEB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1221139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全网最全本科生必看TOP10 AI论文工具测评

全网最全本科生必看TOP10 AI论文工具测评 2026年本科生AI论文工具测评&#xff1a;为何值得一看 在人工智能技术不断渗透学术领域的今天&#xff0c;越来越多的本科生开始依赖AI工具提升论文写作效率。然而&#xff0c;面对市场上五花八门的AI写作平台&#xff0c;如何选择真正…

leetcode 1200

1200: 最小绝对差思路&#xff1a;排序后&#xff0c;只需考虑相邻元素之差把 arr 排序后&#xff0c;最小绝对差只能来自相邻元素&#xff08;不相邻的元素之差更大&#xff09;。遍历 arr 中的相邻元素 (x,y)&#xff0c;设绝对差为 diffy−x&#xff0c;当前最小绝对差为 mi…

一个程序模拟 直流绝缘监测仪,一个程序模拟 直流绝缘监测仪上位机

按照文档写了两个代码&#xff0c;模拟下面这个 直流绝缘检测仪

S7-1500作控制器S7-200SMART作智能设备

本文介绍了智能设备的功能&#xff0c;将S7-1500作为控制器&#xff0c;S7-200 SMART为智能设备&#xff0c;智能设备生成GSD文件&#xff0c;进行 PROFINET IO 通信的配置示例。 从 S7-200 SMART V2.5 版本开始&#xff0c;S7-200 SMART 开始支持做 PROFINET IO 通信的智能设…

低空经济新实践:无人机如何革新光伏电站巡检

引言&#xff1a;当低空经济遇见新能源革命在“双碳”战略引领下&#xff0c;光伏电站如雨后春笋般遍布神州大地。截至2023年底&#xff0c;我国光伏发电装机容量已突破6亿千瓦&#xff0c;连续多年位居全球首位。然而&#xff0c;随着光伏电站规模的急剧扩大&#xff0c;传统人…

DCDC同步降压:RT7272BGSP同步降压设计详解

目录 一、同步 Buck 降压工作原理 1. 基本拓扑结构 2. RT7272 控制模式 3. 核心工作流程 二、关键参数设计详解&#xff08;以 3.9V/3A 为例&#xff09; 1. 输出电压设计&#xff08;分压电阻 R13/R40&#xff09; 公式推导 选型建议 2. 电感设计&#xff08;L3&…

【2026最新】Directx dll修复工具是什么?DirectX修复工具下载保姆图文教程(附官网安装包),dll修复工具,一键解决dll文件丢失、c++异常、软件打不开等问题

相信很多朋友都会遇到“xxx.dll”丢失&#xff0c;软件启动不了、闪退等问题&#xff0c;说明你的系统缺少了支持的相关组件。今天要分享的软件是电脑DLL文件修复工具&#xff0c;强大且绿色&#xff0c;一键解决电脑dll文件丢失&#xff0c;C异常。DirectX修复工具是一款专门给…

14-机器学习与大模型制作数学教程-第1章 1-6 费马定理与极值判定

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P1024 [NOIP 2001 提高组] 一元三次方程求解(1.26)

点击查看代码 #include<bits/stdc++.h> using namespace std;double a,b,c,d;double f(double x) {return a*x*x*x+b*x*x+c*x+d; }int main() {cin>>a>>b>>c>>d;int cnt=0;for(int i=-1…

EDC电子试验记录本,数字化科研时代的效率革命

在当今的科研与工业研发领域&#xff0c;数据是核心资产&#xff0c;而记录则是数据生命的起点。传统纸质实验记录本&#xff08;Paper Lab Notebook, PLN&#xff09;易污损、难追溯、不便共享的痛点日益凸显。据统计&#xff0c;科研人员平均每年因记录不规范、数据丢失等问题…

linux查询进程

通过端口找进程​lsof -i :8080 直接列出占用指定端口&#xff08;如8080&#xff09;的进程信息。精确快捷&#xff0c;信息直观&#xff08;进程名、PID、用户等&#xff09;。netstat -tunlp | grep 8080 -tunlp&#xff1a;显示TCP/UDP监听端口及关联进程&#xff0c;再…

python-Dgango项目收集静态文件、构建前端、安装依赖

数据平台项目&#xff08;pythondjangoreact&#xff09;后端&#xff1a;查看环境&#xff1a; conda env list先激活环境: conda activate unlabel (unlabel) PS D:\unbel_school> python .\label_studio\manage.py runserver 0.0.0.0:28080 加上…

实用指南:【C++初阶】vector容器的模拟实现,各接口讲解

实用指南:【C++初阶】vector容器的模拟实现,各接口讲解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

Linux、Windows常用命令

目录 windows常用命令 linuxl常用命令 windows常用命令 netstat -ano |findstr 28080 TCP 127.0.0.1:28080 0.0.0.0:0 LISTENING 10436 taskkill /f /t /pid 10436 linuxl常用命令 通过端口找进程​ lsof -i :8080 直接列出占用指定端口&a…

2026年1月26日

寒假的一些安排和必要事项 1.阅读构建之法类的书籍发3篇读书笔记(2月11日前 2.开发小程序 3.20篇以上的日记 4.其他科目的复习

2026年地坪漆国内TOP十大品牌推荐:从技术实力到场景适配的专业选型指南

2026年地坪漆国内TOP十大品牌推荐:从技术实力到场景适配的专业选型指南 在地坪漆行业,选择一个可靠的品牌,本质是为工业生产、商业运营或公共服务“买一份长期保障”——它不仅要解决地面耐磨、防滑、防腐等基础问…

生物等效性试验电子化记录,开启药品研发的智能合规新时代

在北京大学心血管研究所的实验室里&#xff0c;郭宇轩教授团队正在使用一个电子化平台&#xff0c;实验数据从记录到分析的全流程被实时捕捉和关联。研究数据资产的管理效率提升了30%以上。生物等效性试验是仿制药研发上市的关键环节&#xff0c;其数据的真实性、完整性与合规性…

2026年地坪漆厂家配套固化剂品牌推荐:从适配性到稳定性的全维度选型指南

2026年地坪漆厂家配套固化剂品牌推荐:从适配性到稳定性的全维度选型指南 在地坪工程中,固化剂是决定地坪漆性能的“隐形核心”——它不仅影响地坪的耐磨度、附着力与使用寿命,更直接关系到项目的施工效率与长期维护…

生物等效性电子试验记录,数字化工具如何重塑药物研发新范式

在药物研发领域&#xff0c;生物等效性&#xff08;Bioequivalence, BE&#xff09;试验是仿制药获批的黄金标准&#xff0c;其核心在于证明仿制药与原研药在人体内的吸收速度和程度无显著差异。传统上&#xff0c;这一过程依赖纸质记录&#xff0c;不仅耗时费力&#xff0c;且…

揭秘电子试验记录如何保障生物等效性,从数据基石到智能未来

在药物研发的严谨世界中&#xff0c;生物等效性&#xff08;Bioequivalence, BE&#xff09;研究是仿制药获批上市的“临门一脚”。它要求仿制药与原创药在人体内的吸收速度和程度必须高度相似。这项研究的核心&#xff0c;是海量、精密且不容有失的试验数据。传统纸质记录方式…