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

这篇具有很好参考价值的文章主要介绍了一行代码就能完成的事情,为什么要写两行?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 大厂面试题分享 面试题库

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

地址:前端面试题库  web前端面试题库 VS java后端面试题库大全文章来源地址https://www.toymoban.com/news/detail-415244.html

三元运算符

用三元运算符代替简单的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后端面试题库大全

到了这里,关于一行代码就能完成的事情,为什么要写两行?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么要写测试用例,测试用例写给谁看?

    “为什么要编写测试用例,测试用例写给谁看”,这个问题看似简单,但却涵盖了一系列复杂的考虑因素,并不太好回答。 为了向各位学测试的同学们解释清楚“为什么编写测试用例是至关重要的”,我将通过以下5个方面进行展开: 1、为什么要写测试用例? 2、测试用例写

    2024年02月05日
    浏览(38)
  • 我为什么要写《百图解码支付系统设计与实现》专栏(附专栏大纲)

    致谢 @月朦胧 提出的“状态机领域模型同时被两个线程操作怎么避免状态幂等问题” @赵晓军528 @康文彬 指出了状态机文章中有关键代码缺失 @用户4725518259032 指出了需要缺失hashCode()的问题。 很多其他网友也给了很多有益反馈,无法一一感谢。 本周更新 分布式流控系列文章。

    2024年01月16日
    浏览(46)
  • 低代码是什么意思?企业为什么要用低代码平台?

    低代码是什么意思?企业为什么要用低代码平台? 这两个问题似乎困扰了很多人,总有粉丝跟小简抱怨, 一天到晚念叨低代码,倒是来个人解释清楚啊! 来了,这次一文让你全明白。 在此之前,先了解什么是云计算。 “云” :指的就是互联网,因为之前互联网(Internet)

    2024年02月07日
    浏览(54)
  • 华为云低代码问答——低代码为什么这么“香”

    在数字化转型的大潮中,快速实现业务需求并迅速推出应用程序是企业成功的关键。而低代码平台,则成为了开发者的好帮手,为他们提供了高效、可扩展且可靠的开发解决方案。本期【云享问答】通过这11个问题,带你熟悉低代码开发,认识华为云低代码平台Astro,实现应用

    2024年02月21日
    浏览(43)
  • 为什么 Python 代码在函数中运行得更快?

    哈喽大家好,我是咸鱼 当谈到编程效率和性能优化时,Python 常常被调侃为“慢如蜗牛” 有趣的是,Python 代码在函数中运行往往比在全局范围内运行要快得多 小伙伴们可能会有这个疑问:为什么在函数中运行的 Python 代码速度更快? 今天这篇文章将会解答大家心中的疑惑 原

    2024年02月08日
    浏览(58)
  • 屎山代码为什么不去重构的探讨

    现在公司的产品,从出生到现在已经有十多年了,现在仍然在持续的功能构建中。当然我来这里,看代码才几天的时间,那是憋得是相当难受,看一下,其中的一段比较核心的逻辑的代码,一张图截不了,是的,你没看错,上千行的一个函数挺多,里面大量的if else,上面还有

    2024年01月18日
    浏览(44)
  • 为什么说低代码的出现是时代的选择?

    前言:作为一种软件开发工具,低代码平台一定程度上提升了企业的软件开发效率,适应了整体的数字化发展趋势,故可以看到,低代码近几年的热度不可小觑。 随着企业对应用程序的开发和升级需求不断激增,许多低代码工具越来越受欢迎,国内有各类SaaS、云服务等厂商

    2024年02月03日
    浏览(49)
  • 为什么越来越多公司开始用低代码开发?

    时代洪流的走向,我们无法左右,能够把握的,只有做好自己。如何在寒冬来之不易的机会中,生存并且壮大。 不知道大家有没有发现,今年的低代码赛道异常火热,但火热的背后才值得思考,市场需求持续被挖掘,是什么造就了目前诸多低代码平台的井喷? 在低代码应用

    2024年02月04日
    浏览(63)
  • 从CPU的视角看 多线程代码为什么那么难写!

      当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问 “为什么代码测试环境运行好好的,一上线就不行了?”。 为了解决线程安全的问题,我们的先辈们在编

    2024年02月02日
    浏览(64)
  • 代码的坏味道(二)——为什么建议使用模型来替换枚举?

    在设计模型时,我们经常会使用枚举来定义类型,比如说,一个员工类 Employee,他有职级,比如P6/P7。顺着这个思路,设计一个 Level 类型的枚举: 假设哪天悲催的打工人毕业了,需要计算赔偿金,简单算法赔偿金=工资*工龄 后来,随着这块业务逻辑的演进,其实公司是家具备

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包