分享 28 个你应该知道的JS 实用小技巧
文 | https://niemvuilaptrinh.medium.com/28-tip-javascript-you-should-know-5c8ca83e4f99
今天我将分享一些Javascript中的常用技巧,以帮助您解决问题。设置过程中的常见问题更快更容易。
01、Javascript 反向字符串
下面是代码:
/*niemvuilaptrinh.com*/
const stringReverse = str => str.split("").reverse().join("");
stringReverse('hello world'); /*dlrow olleh*/
02、滚动到页面顶部
下面是代码:
/*niemvuilaptrinh.com*/
const scrollToTop = () => window.scrollTo(0, 0);
scrollToTop();
03、删除数组中的重复项
下面是代码:
/*niemvuilaptrinh.com*/
const removeDuplicate = (arr) => [...new Set(arr)];
removeDuplicate([1, 2, 3, 4, 4, 2, 1]); // [1, 2, 3, 4]
04、 获取数组中的随机项
下面是代码:
/*niemvuilaptrinh.com*/
const randomItemArray = (arr) => arr[Math.floor(Math.random() * arr.length)];
randomItemArray(['a', 'b', 'c', 1, 2, 3]);
05、获取数组中的最大数
下面是代码:
/*niemvuilaptrinh.com*/
const maxNumber = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);
maxNumber([4,9,5,7,2]) /* 9 */
06、检查型号
下面是代码:
/*niemvuilaptrinh.com*/
function isNumber(num) {return !isNaN(parseFloat(num)) && isFinite(num);
}
isNumber("Hello"); /*false*/
isNumber(123);/*true*/
07、检查类型为空
下面是代码:
/*niemvuilaptrinh.com*/
const checkNull = val => val === undefined || val === null;
checkNull(123) /* false */
checkNull() /* true */
checkNull('hello') /* false */
08、获取数组中的最小数
下面是代码:
/*niemvuilaptrinh.com*/
const minNumber = (arr, n = 1) => [...arr].sort((a, b) => a - b).slice(0, n);
console.log(minNumber([3,5,9,7,1])) /*1*/
09、获取数组中的平均数
下面是代码:
/*niemvuilaptrinh.com*/
const averageNumber = arr => arr.reduce((a, b) => a + b) / arr.length;
averageNumber([1, 2, 3, 4, 5]) /* 3 */
10、检查元素的类型
下面是代码:
/*niemvuilaptrinh.com*/
/*niemvuilaptrinh.com*/ const checkType = v => v === undefined ? 'undefined' : v === null ? 'null' : v.constructor.name.toLowerCase();
checkType(true) /*boolean*/
checkType("hello World") /*string*/
checkType(123) /*number*/
11、 计算数组中元素的出现次数
下面是代码:
/*niemvuilaptrinh.com*/
const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a), 0);
countOccurrences([1,2,2,4,5,6,2], 2) /* Số 2 xuất hiện 3 lần trong array */
12、使用 Javascript 获取当前 URL
下面是代码:
/*niemvuilaptrinh.com*/
const getCurrentURL = () => window.location.href;
getCurrentURL() /* https://www.niemvuilaptrinh.com */
13、大写字符串中的字母
下面是代码:
/*niemvuilaptrinh.com*/
const capitalizeString = str => str.replace(/b[a-z]/g, char => char.toUpperCase());
capitalizeString('niem vui lap trinh'); /* 'Niem Vui Lap Trinh' */
14、将 RGB 转换为十六进制
下面是代码:
/*niemvuilaptrinh.com*/const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);rgbToHex(52, 45, 125); /* Kết quả là: '#342d7d'*/
15、将数字转换为数组
下面是代码:
/*niemvuilaptrinh.com*/
const numberToArray = n => [...`${n}`].map(i => parseInt(i));
numberToArray(246) /*[2, 4, 6]*/
numberToArray(357911) /*[3, 5, 7, 9, 1, 1]*/
16、 从 HTML 中获取内容
下面是代码:
/*niemvuilaptrinh.com*/
const getTextInHTML = html => (new DOMParser().parseFromString(html, 'text/html')).body.textContent || '';
getTextInHTML('<h2>Hello World</h2>'); /*'Hello World'*/
17、 在 JS 中分配多个变量
下面是代码:
/*niemvuilaptrinh.com*/
var [a,b,c,d] = [1, 2, 'Hello', false];
console.log(a,b,c,d) /* 1 2 'Hello' false */
18、空数组
下面是代码:
let arr = [1, 2, 3, 4, 5];
arr.length = 0;
console.log(arr); /* Kết quả : [] */
19、 在 JS 中复制对象
下面是代码:
/*niemvuilaptrinh.com*/
const obj = {name: "niem vui lap trinh",age: 12
};
const copyObject = { ...obj };
console.log(copyObject); /* {name: 'niem vui lap trinh', age: 12}*/
20、检查偶数和奇数
下面是代码:
/*niemvuilaptrinh.com*/
const isEven = num => num % 2 === 0;
console.log(isEven(1)); /*false*/
console.log(isEven(2)); /*true*/
21、合并两个或多个数组 JS
下面是代码:
/*niemvuilaptrinh.com*/
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr = arr1.concat(arr2);
console.log(arr); /* [1, 2, 3, 4, 5, 6] */
22、将内容复制到剪贴板
下面是代码:
/*niemvuilaptrinh.com*/
const copyTextToClipboard = async (text) => {await navigator.clipboard.writeText(text)
}
23、从一系列值中选择一个随机数
下面是代码:
/*niemvuilaptrinh.com*/
var max = 10;
var min = 1;
var numRandom = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(numRandom)
24、检查元素是否聚焦
下面是代码:
/*niemvuilaptrinh.com*/
const elementFocus = (el) => (el === document.activeElement);
elementIsInFocus(element);
/*if true element is focus*/
/*if false element is not focus*/
25、用 JS 测试苹果设备
下面是代码:
/*niemvuilaptrinh.com*/
const isAppleDevice =
/Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);
/*if true element is apple devices **/
/*if false element is not apple devices*/
26、 将字符串转换为数组
下面是代码:
/*niemvuilaptrinh.com*/
const str = "Hello";
const arr = [...str];
console.log(arr); /* ['H', 'e', 'l', 'l', 'o'] */
27、在 JS 中使用箭头函数
下面是代码:
/* regular function*/
const sum = function(x, y) {return x + y;
};
/* arrow function */
const sum = (x, y) => x + y;
28、条件句的简写
总结:
我希望这篇文章能为您提供对开发网站有用的javascript知识,如果您有任何问题,请留言区给我留言,我会尽快回复。
感谢您的阅读,祝您今天过得愉快!
学习更多技能
请点击下方公众号
分享 28 个你应该知道的JS 实用小技巧相关推荐
- 云顶之弈怎么防止被机器人拉_云顶之弈:只有钻石玩家才知道的12个小技巧,都是干货!...
最近英雄联盟云顶之弈非常火爆,以前一些不上线好友的名字也纷纷亮起来了,而且放在他们名字上一看基本上都是在玩云顶之弈.笔者经常使用恶魔元素法师阵容,海岛枪剑阵容,四护卫阵容,终于非常幸运的上到了钻石段位 ...
- 苹果手机把游戏藏在计算机,七个一定要知道的Iphone隐藏小技巧,很实用,我知道的太晚了...
原标题:七个一定要知道的Iphone隐藏小技巧,很实用,我知道的太晚了 关于Iphone手机的小技巧大家都知道多少个呢?如果你用了苹果很多年的话,那你肯定知道很多小技巧吧?今天和分享些我个人知道的一些 ...
- Mac入门必须要知道的10个小技巧
刚开始不了解Mac时,会觉得很麻烦,但是学习一串小技巧后,你会发现mac系统很有用.以下是一些比较基础的Mac小技巧,希望会帮到更入手mac的小伙伴们. 1.快速找到光标 如果在混乱之中找不到屏幕中的 ...
- 分享 14 个你必须知道的 JS 函数
英文 | https://javascript.plainenglish.io/you-must-understand-these-14-javasript-functions-1f4fa1c620e ...
- 20%的人才知道的3Dmax渲染小技巧
今天主要给大家分享一下,关于渲染方面的一些小技巧. 首先我们要了解,渲染在三维建模中起到的作用: 第一点:渲染就是先将三维物体,通过3D打印机.3 DMAX等工具做出来,将这些零件在3D环境下做出来. ...
- 老鸟程序员才知道的40个小技巧
1.重构是程序员的主力技能. 2.工作日志能提升脑容量. 3.先用profiler调查,才有脸谈优化. 4.注释贵精不贵多.杜绝大姨妈般的"例注".漫山遍野的碎碎念注释,实际就是背 ...
- 你应该知道的Excel 2007小技巧
Excel功能强大,虽然我们的主要工作是编程,但掌握一些Excel的技巧是很必要的.下面是我记录的一些技巧.有的地方只是让大家知道就可以,使用的时候都很容易的,比如公式.图表,编程人员一看都懂. 重复 ...
- win10 修改win登录logo_技巧:分享自己使用Win10过程中,一些实用小技巧
Simple科技 专注于简洁好用的 软件|网站| 技巧 免享! 技巧分享 1034字 编辑用时:3小时 设星标|在看|转发|打卡 望多多支持! 整理不易,感谢你! 有问题,加我 以下都是我使用Win1 ...
- 资深程序员才知道的30个Python技巧
Python中的省略号 Python省略号是三点序列,通常在自然语言中使用.但是您可能不知道的是,这也是Python中的有效对象: - Ellipsis 它主要用于NumPy中的矩阵切片操作.但是,您 ...
最新文章
- LeetCode: 58. Length of Last Word
- 【Linux 内核】实时调度类 ⑥ ( 实时调度类核心函数源码分析 | 插入进程到执行队列 | 从执行队列中选择优先级最高的进程 )
- 解析邻居的耳朵音乐地址(单页下载)
- android1.6,令人遗憾的Android 1.6系统_戴尔 Mini5(Streak)_手机其它OS-中关村在线
- 不常用却很有妙用的事件及方法
- 如何选购显卡2011版
- 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
- FreeBSD学习笔记17-FreeBSD下安装MySQL数据库
- springboot 建readme_README
- 垃圾文件粉碎机 防止恢复保安全
- 第二章 身份验证——《跟我学Shiro》[张开涛]
- 酷狗与鸿蒙系统,酷狗音乐2020最新版|酷狗音乐鸿蒙版安卓版下载 v10.2.7 - 跑跑车安卓网...
- 基于MATLAB的光纤通信仿真
- linux seek原理,Linux内核:seek机制
- Gtalk怎么样绑定MSN帐号?
- 傻瓜式解决神舟系电脑rerun占用过高
- java 北京时间 东八区时间 Android calendar时区无效问题
- (加入显示电量功能)模仿魅族、华为、小米电池续航管理软件, 动态水波纹滚动的圆形小球View
- <<视觉问答>>2021:Zero-shot Visual Question Answering usingKnowledge Graph
- 基于MDB_ICP协议的纸币识别器与自动售货机通讯的研究
热门文章
- overleaf 推荐
- 【JAVA黑马程序员笔记】三P233-P312(List、Set、比较器、泛型、Map、File、IO流...)
- 2-java安全——tomcat AJP协议文件包含分析[CVE-2020-1938]
- mysql从小到大的语句_MySQL 我自己常用的语句汇总
- Android 给大家介绍几种避免手机报毒导致客户流失的问题的方法
- 下拉菜单(二级菜单)
- 共享的信用麻烦:谁该具有处罚量刑权?
- 2018-06-30 第十九次课 课后笔记
- 7-18关于预制件和添加图片
- 上传图片预览并在后台处理