一行代码就能完成的事情,为什么要写两行?

news2025/3/2 4:38:51

 大厂面试题分享 面试题库

前后端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库  web前端面试题库 VS java后端面试题库大全

三元运算符

用三元运算符代替简单的if else

if (age < 18) {
  me = '小姐姐';
} else {
  me = '老阿姨';
}
复制代码

改用三元运算符,一行就能搞定

me = age < 18 ? '小姐姐' : '老阿姨';
复制代码

复杂的判断三元运算符就有点不简单易懂了

const you = "董员外"
const your = "菜鸡本鸡"
const me = you ?"点再看":your?"点赞":"分享"
复制代码

判断

当需要判断的情况不止一个时,第一个想法就是使用 || 或运算符

if(
    type == 1 ||
    type == 2 ||
    type == 3 ||
    type == 4 ||
){
   //...
}
复制代码

ES6中的includes一行就能搞定

if( [1,2,3,4,5].includes(type) ){
   //...
}
复制代码

取值

在写代码的时候,经常会用到取值的操作

const obj = {
    a:1,
    b:2,
    c:3,
}
//老的取值方式
const a = obj.a;
const b = obj.b;
const c = obj.c;
复制代码

老的取值方式,直接用对象名加属性名去取值。如果使用ES6的解构赋值一行就能搞定

const {a,b,c} = obj;
复制代码

获取对象属性值

在编程的过程中经常会遇到获取一个值并赋给另一个变量的情况,在获取这个值时需要先判断一下这个对象是否存在,才能进行赋值

if(obj && obj.name){
  const name = obj.name
}
复制代码

ES6提供了可选连操作符?.,可以简化操作

const name = obj?.name;
复制代码

反转字符串

将一个字符串进行翻转操作,返回翻转后的字符串

const reverse = str => str.split('').reverse().join('');

reverse('hello world');   // 'dlrow olleh'
复制代码

生成随机字符串

生成一个随机的字符串,包含字母和数字

const randomString = () => Math.random().toString(36).slice(2);
//函数调用
randomString();
复制代码

数组去重

用于移除数组中的重复项

const unique = (arr) => [...new Set(arr)];

console.log(unique([1, 2, 2, 2, 3, 4, 4, 5, 6, 6]));
复制代码

数组对象去重

去除重复的对象,对象的key值和value值都分别相等,才叫相同对象

const uniqueObj = (arr, fn) =>arr.reduce((acc, v) => {if (!acc.some(x => fn(v, x))) acc.push(v);return acc;}, []);
 
uniqueObj([{id: 1, name: '大师兄'}, {id: 2, name: '小师妹'}, {id: 1, name: '大师兄'}], (a, b) => a.id == b.id)
// [{id: 1, name: '大师兄'}, {id: 2, name: '小师妹'}]
复制代码

合并数据

当我们需要合并数据,并且去除重复值时,你是不是要用for循环? ES6的扩展运算符一行就能搞定!!!

const a = [1,2,3];
const b = [1,5,6];
const c = [...new Set([...a,...b])];//[1,2,3,5,6]
复制代码

判断数组是否为空

判断一个数组是否为空数组,它将返回一个布尔值

const notEmpty = arr => Array.isArray(arr) && arr.length > 0;

notEmpty([1, 2, 3]);  // true
复制代码

交换两个变量

//旧写法
let a=1;
let b=2;
let temp;
temp=a
a=b
b=temp

//新写法
[a, b] = [b, a];
复制代码

判断奇还是偶

const isEven = num => num % 2 === 0;

isEven(996); 
复制代码

获取两个数之间的随机整数

const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);

random(1, 50);
复制代码

检查日期是否为工作日

传入日期,判断是否是工作日

const isWeekday = (date) => date.getDay() % 6 !== 0;
console.log(isWeekday(new Date(2021, 11, 11)));
// false 
console.log(isWeekday(new Date(2021, 11, 13)));
// true
复制代码

高级

滚动到页面顶部

不用引入element-ui等框架,一行代码就能实现滚动到顶部

const goToTop = () => window.scrollTo(0, 0);
goToTop();
复制代码

浏览器是否支持触摸事件

通过判断浏览器是否有ontouchstart事件来判断是否支持触摸

const touchSupported = () => {
  ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
复制代码

当前设备是否为苹果设备

前端经常要兼容andriod和ios

const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);
// Result: will return true if user is on an Apple device
复制代码

复制内容到剪切板

使用 navigator.clipboard.writeText 来实现将文本复制到剪贴板

const copyToClipboard = (text) => navigator.clipboard.writeText(text);

copyToClipboard("双十一来了~");
复制代码

检测是否是黑暗模式

用于检测当前的环境是否是黑暗模式,返回一个布尔值

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches

console.log(isDarkMode)
复制代码

网站变成黑白

有时候网站在某种特定的情况下,需要使整个网站变成黑白的颜色

filter:grayscale(100%)
复制代码

只需要将这一行代码filter:grayscale(100%)放到body上,一下就能致黑

 

大厂面试题分享 面试题库

前后端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库  web前端面试题库 VS java后端面试题库大全

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

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

相关文章

MIMO-OFDM无线通信技术(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 本代码为MIMO-OFDM无线通信技术及MATLAB实现。分为十章&#xff0c;供大家学习。 &#x1f4da;2 运行结果 主函数部分代码&a…

移动端架构师都需要具备怎样的技术栈和能力

移动端架构师都需要具备怎样的技术栈和能力 主要的能力 技术深度 技术广度 动手能力: 比如说造轮子的能力, UI(高级自定义UI, 通用UI组件库), LibrarySDK(通用基础库, 项目框架/架构) 经验丰富 辅助的能力 领导力 沟通能力 洞察与前瞻 赋能业务 技术栈 T字形技术栈语言语言高…

TPS79650DCQR低压差线性稳压器、TPS54040ADGQR一款42V,0.5A降压稳压器数据手册资料

TPS79650DCQR低压差&#xff08;LDO&#xff09;低功耗线性稳压器具有高电源抑制比&#xff08;PSRR&#xff09;、超低噪声、快速启动&#xff0c;以及出色的线路和负载瞬态响应&#xff0c;采用小外形、33 VSON、SOT223-6和TO-263封装。该系列的每个器件在输出端都有一个小型…

14届蓝桥杯Python总结

在比赛的时候大家头脑注意力都高度集中&#xff0c;比较紧绷&#xff0c; 我是不喜欢太紧绷的神经的&#xff0c;这时候电脑就夸得一下关机重启了&#xff0c;我当时真的想说关的好&#xff0c;休息一会&#xff08;哈哈哈&#xff09; 重启后我就继续做题&#xff0c;虽然出了…

AcWing 第一讲 打卡例题习题题目

AcWing 第一讲 打卡&例题&习题题目 1. AcWing 1. A B #include<iostream>using namespace std;int main(){int a,b;cin >> a >> b;cout << ab << endl;return 0; }2. AcWing 608. 差 #include<iostream>using namespace std;int…

他98年的,我真的玩不过他...

现在的小年轻真的卷得过分了。前段时间我们公司来了个98年的&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天&#xff0c;原来这位小老弟家里条…

ChatGPT做爬虫的第一步

做爬虫就是搞数据, 专业的人做专业的事, ChatGPT阅虫无数, 搞个小爬虫, So Easy! 我知道可以百度到下载图片的代码, 但是我不想百度了, 一切交给ChatGPT 你只需要问他: 怎么用Nodejs下载图片? 其中&#xff0c;url是图片的地址&#xff0c;filePath是保存图片的本地路径。使…

安装stable-diffusion时遇到卡的情况

安装过程中&#xff0c;假如出现Installing gfpgan并且卡了很久不动&#xff0c;见下图&#xff1a; 遇到这个情况&#xff0c;怎么解决呢&#xff1f; 去TencentARC/GFPGAN官网&#xff0c;点击绿色的“Code”按钮&#xff0c;然后点击“Download ZIP”按钮&#xff1a; 将下…

MySQL--数据类型--0409

目录 1.数值类型 1.2 tinyint类型 2.bit类型 3.小数类型 3.1 float 3.2 decimal 4.字符类型 4.1 char 4.2 varchar 4.3 char 和 varchar 比较 5. 日期类型 6. enum 和 set 6.2 set和enum的查找 6.2.1 enum的查找 6.2.2 set的查找 1.数值类型 1.2 tinyint类型 只…

IDE装上ChatGPT,一天开发一个系统

昨天白天在写代码&#xff0c;晚上看了一场直播&#xff0c;是两个技术的直播&#xff1a; 一个是技术总监&#xff0c;一个是号称Java之父的余**。 结果Java之父被技术总监吊打。然后匆匆下播。 技术这玩意&#xff0c;真的就是真的&#xff01; 白天我开发了一个系统&…

二叉搜索树的oj

目录 一、根据二叉树创建字符串 二、二叉树的层序遍历 三、二叉树的层序遍历Ⅱ 四、二叉树的最近公共祖先 ①递归求解 ②回溯求解 五、二叉搜索树和双向链表 六、根据一棵树的前序遍历与中序遍历构造二叉树 七、从中序与后序遍历序列构造二叉树 八、二叉树的任一遍历…

大厂面试-算法优化:冒泡排序你会优化吗?

关注公众号&#xff1a;”奇叔码技术“ 回复&#xff1a;“java面试题大全”或者“java面试题” 即可领取资料 原文&#xff1a;冒泡排序及优化代码 https://blog.csdn.net/weixin_43989347/article/details/122025689原文&#xff1a;十大经典排序算法 https://frxcat.fun/pa…

矩阵相似题型总结

矩阵相似题型总结 &#xff08;一&#xff09;题型一&#xff1a;判断含重特征值的方阵A能否相似对角化&#xff08;即能否相似于对角阵&#xff09; 所有特征值均不同的矩阵必可相似对角化&#xff0c;含重特征值的矩阵呢&#xff1f;可如下做 &#xff08;1&#xff09;求A的…

C++linux高并发服务器项目实践 day4

Clinux高并发服务器项目实践 day4模拟实现ls -l指令文件属性操作函数access函数chmod 与chowntruncate函数目录操作函数mkdir和rmdirrenamechdir和getcwd目录遍历函数dup、dup2函数dupdup2fcntl函数模拟实现ls -l指令 #include<sys/types.h> #include<sys/stat.h>…

为何巴菲特和马斯克站在了一起?

股神巴菲特虽然非常传奇&#xff0c;但是马斯克对其并不感冒。马斯克曾经在一档电视节目中表示&#xff0c;实业才是王道&#xff0c;埋怨金融业抢走太多人才和精英&#xff0c;暗指巴菲特为年轻人做了错误示范。当然&#xff0c;巴菲特的投资非常厉害&#xff0c;但也有失手的…

2-修改example适用于不同开发板

1.问题 手上只有基于nRF52811芯片的BMD360开发板,与pca10056e开发板同一个芯片.所以pca10056e的example都可以适用于BMD360开发板,只需要修改开发板相同的输入输出硬件管脚即可.因为BMD360开发板与pca10056e开发板的输入输出管脚不同. 而BMD360开发板输入输出管脚于PCA10040相同…

【数据结构】七大排序算法详解Java

目录 1.排序算法分类 1.直接选择排序 代码展示&#xff1a; 2.直接插入排序 核心思路&#xff1a; 代码展示&#xff1a; ​编辑 3.希尔排序 思路分析&#xff1a; 代码展示&#xff1a; 4.归并排序 代码展示&#xff1a; 5.快速排序(挖坑法) 思路分析&#xff1a; …

OJ系统刷题 第十篇

13444 - 求出e的值 时间限制 : 1 秒 内存限制 : 128 MB 利用公式e11/!1​1/2!​1/3!​...1/n!​&#xff0c;求e的值&#xff0c;要求保留小数点后10位。 输入 输入只有一行&#xff0c;该行包含一个整数n&#xff08;2≤n≤15&#xff09;&#xff0c;表示计算e时累加到1/…

计算机操作系统第四版第六章输入输出系统—课后题答案

1.试说明I/O系统的基本功能。 隐藏物理设备的细节、与设备的无关性、提高处理机和I/O设备的利用率、对I/O设备进行控制、确保对设备的正确共享、错误处理 2.简要说明I/O软件的4个层次的基本功能。 用户层I/O软件&#xff1a;实现与用户交互的接口&#xff0c;用户可直接调用该层…

4.8、socket介绍

4.8、socket1. socket介绍1. socket介绍 所谓 socket&#xff08;套接字&#xff09;&#xff0c;就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端&#xff0c;提供了应用层进程利用网络协议交换数据的机制。从所处的地位…