文 | 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 实用小技巧相关推荐

  1. 云顶之弈怎么防止被机器人拉_云顶之弈:只有钻石玩家才知道的12个小技巧,都是干货!...

    最近英雄联盟云顶之弈非常火爆,以前一些不上线好友的名字也纷纷亮起来了,而且放在他们名字上一看基本上都是在玩云顶之弈.笔者经常使用恶魔元素法师阵容,海岛枪剑阵容,四护卫阵容,终于非常幸运的上到了钻石段位 ...

  2. 苹果手机把游戏藏在计算机,七个一定要知道的Iphone隐藏小技巧,很实用,我知道的太晚了...

    原标题:七个一定要知道的Iphone隐藏小技巧,很实用,我知道的太晚了 关于Iphone手机的小技巧大家都知道多少个呢?如果你用了苹果很多年的话,那你肯定知道很多小技巧吧?今天和分享些我个人知道的一些 ...

  3. Mac入门必须要知道的10个小技巧

    刚开始不了解Mac时,会觉得很麻烦,但是学习一串小技巧后,你会发现mac系统很有用.以下是一些比较基础的Mac小技巧,希望会帮到更入手mac的小伙伴们. 1.快速找到光标 如果在混乱之中找不到屏幕中的 ...

  4. 分享 14 个你必须知道的 JS 函数

    英文 | https://javascript.plainenglish.io/you-must-understand-these-14-javasript-functions-1f4fa1c620e ...

  5. 20%的人才知道的3Dmax渲染小技巧

    今天主要给大家分享一下,关于渲染方面的一些小技巧. 首先我们要了解,渲染在三维建模中起到的作用: 第一点:渲染就是先将三维物体,通过3D打印机.3 DMAX等工具做出来,将这些零件在3D环境下做出来. ...

  6. 老鸟程序员才知道的40个小技巧

    1.重构是程序员的主力技能. 2.工作日志能提升脑容量. 3.先用profiler调查,才有脸谈优化. 4.注释贵精不贵多.杜绝大姨妈般的"例注".漫山遍野的碎碎念注释,实际就是背 ...

  7. 你应该知道的Excel 2007小技巧

    Excel功能强大,虽然我们的主要工作是编程,但掌握一些Excel的技巧是很必要的.下面是我记录的一些技巧.有的地方只是让大家知道就可以,使用的时候都很容易的,比如公式.图表,编程人员一看都懂. 重复 ...

  8. win10 修改win登录logo_技巧:分享自己使用Win10过程中,一些实用小技巧

    Simple科技 专注于简洁好用的 软件|网站| 技巧 免享! 技巧分享 1034字 编辑用时:3小时 设星标|在看|转发|打卡 望多多支持! 整理不易,感谢你! 有问题,加我 以下都是我使用Win1 ...

  9. 资深程序员才知道的30个Python技巧

    Python中的省略号 Python省略号是三点序列,通常在自然语言中使用.但是您可能不知道的是,这也是Python中的有效对象: - Ellipsis 它主要用于NumPy中的矩阵切片操作.但是,您 ...

最新文章

  1. LeetCode: 58. Length of Last Word
  2. 【Linux 内核】实时调度类 ⑥ ( 实时调度类核心函数源码分析 | 插入进程到执行队列 | 从执行队列中选择优先级最高的进程 )
  3. 解析邻居的耳朵音乐地址(单页下载)
  4. android1.6,令人遗憾的Android 1.6系统_戴尔 Mini5(Streak)_手机其它OS-中关村在线
  5. 不常用却很有妙用的事件及方法
  6. 如何选购显卡2011版
  7. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
  8. FreeBSD学习笔记17-FreeBSD下安装MySQL数据库
  9. springboot 建readme_README
  10. 垃圾文件粉碎机 防止恢复保安全
  11. 第二章 身份验证——《跟我学Shiro》[张开涛]
  12. 酷狗与鸿蒙系统,酷狗音乐2020最新版|酷狗音乐鸿蒙版安卓版下载 v10.2.7 - 跑跑车安卓网...
  13. 基于MATLAB的光纤通信仿真
  14. linux seek原理,Linux内核:seek机制
  15. Gtalk怎么样绑定MSN帐号?
  16. 傻瓜式解决神舟系电脑rerun占用过高
  17. java 北京时间 东八区时间 Android calendar时区无效问题
  18. (加入显示电量功能)模仿魅族、华为、小米电池续航管理软件, 动态水波纹滚动的圆形小球View
  19. <<视觉问答>>2021:Zero-shot Visual Question Answering usingKnowledge Graph
  20. 基于MDB_ICP协议的纸币识别器与自动售货机通讯的研究

热门文章

  1. overleaf 推荐
  2. 【JAVA黑马程序员笔记】三P233-P312(List、Set、比较器、泛型、Map、File、IO流...)
  3. 2-java安全——tomcat AJP协议文件包含分析[CVE-2020-1938]
  4. mysql从小到大的语句_MySQL 我自己常用的语句汇总
  5. Android 给大家介绍几种避免手机报毒导致客户流失的问题的方法
  6. 下拉菜单(二级菜单)
  7. 共享的信用麻烦:谁该具有处罚量刑权?
  8. 2018-06-30 第十九次课 课后笔记
  9. 7-18关于预制件和添加图片
  10. 上传图片预览并在后台处理