位置:首页 > web前端 > javascript

工作中常用的JavaScript单行程序

dearweb 发布:2021-05-23 21:47:55阅读:

目前全世界有超过900万的Javascript开发人员,并且还在不断增加。今天小编将带您了解一些JavaScript单行程序以便于更好的提升编程效率。

1.克隆数组(返回原始数组)

oldArray = [5,8,2,8]
var newArray = oldArray.slice(0);
console.log(newArray)
------------------------------------
[5,8,2,8]

2.删除html标签

这种单行代码使用正则表达式删除了任何看起来像html标签的字符串,其中 x 可以是任何字符,包括 /

"<b>这是一段文字</b>".replace(/<[^>]+>/gi, "");

3.将文字复制到剪切板

将文本复制到剪贴板非常有用,也是一个很难解决的问题。您可以在Internet上找到各种解决方案,但是下面的解决方案可能是最小,最聪明的解决方案之一。

const copyTextToClipboard = async (text) => {
  await navigator.clipboard.writeText(text)
}

4.特定Cookie的值

cookie = name => `;${document.cookie}`.split(`; ${name}=`).pop().split(';').shift();
cookie('_ga');
//Result: "GA1.3.974792242.1509957189"

5.将华氏温度转换为摄氏温度(反之亦然)

无论选择华氏温度还是摄氏温度,将所有温度参数都转换为一个单位始终是一个更好的主意。

const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9; 
--------Examples-------
celsiusToFahrenheit(15);    // 59
celsiusToFahrenheit(-20);   // -4
fahrenheitToCelsius(59);    // 15
fahrenheitToCelsius(32);    // 0

6.滚动到页面顶部

window.scrollTo() 方法可以帮助你完成任务。它需要滚动到页面上该位置的x和y坐标。如果将它们设置为(0,0),它将滚动到页面顶部。

const goToTop = () => window.scrollTo(0, 0);
goToTop();

7.将数字截断为固定的小数点

借助 Math.pow() 你可以将数字截断为某个小数点的方法。

const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
-----------------------------------------------------------------
toFixed(25.198726354, 1);       // 25.1
toFixed(25.198726354, 2);       // 25.19
toFixed(25.198726354, 3);       // 25.198
toFixed(25.198726354, 4);       // 25.1987
toFixed(25.198726354, 5);       // 25.19872
toFixed(25.198726354, 6);       // 25.198726

8.合并多个数组

const cars = ['1', '2'];
const trucks = ['3', '4'];
----- 方法 1 -------
const combined = cars.concat(trucks);
console.log(combined)
--------------------------------------------------
[ '1', '2', '3', '4' ]
----- 方法 2 --------
const combined = [].concat(cars,trucks);
console.log(combined)
--------------------------------------------------
[ '1', '2', '3', '4' ]

9.将字符串转换为数字

将字符串转换为数字的一种非常简单的方法是使用类型转换。

toNumber = str => +str;
toNumber = str => Number(str);
result = toNumber("2");
console.log(result)
console.log(typeof(result))
----------------------------------
2
number

10.计算两个给定日期之间的天数

计算两个日期之间的天数,我们首先找到两个日期之间的绝对值,然后用86400000除以它,它等于一天内的毫秒数,最后,我们四舍五入并返回结果。

const days = (date, otherDate) => Math.ceil(Math.abs(date - otherDate) / (86400000));
result = days(new Date('2020-04-15'), new Date('2021-01-15'));
console.log(result)
--------------------------------------------------------
275

11.检查数组中的所有元素是否都满足特定条件

const hasEnoughSalary = (salary) => salary >= 30000
const salarys = [70000, 19000, 12000, 30000, 15000, 50000]
result = salarys.every(hasEnoughSalary) 
console.log(result)
-------------------------------
false
const salarys = [70000, 190000 ,120000, 30000, 150000,50000]
result = salarys.every(hasEnoughSalary) // Results in false
console.log(result)
---------------------------------
true

12.回文

回文是一个字符串或数字,当它被反转时看起来完全相同。例如:1221,5665,dffd等。

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

result = isPalindrome('abcba');
console.log(result)
-----------------------------------
true

result = isPalindrome('abcbc');
console.log(result)
---------------------------------
false

13.FizzBuzz

这个问题是用来检查程序员核心的著名面试问题之一。在这个测试中,我们需要编写一个程序来打印从1到100的数字。但如果是3的倍数,则打印“Fizz”而不是数字,如果是5的倍数,则打印“Buzz”。

for(i=0;++i<10;console.log(i%5?f||i:f+'Buzz'))f=i%3?'':'Fizz'
----------------------------------
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz

14.检查偶数和奇数

有很多方法可以做到这一点,最简单的方法之一就是使用箭头函数并只用一行编写整个代码

const isEven = num => num % 2 === 0;
console.log(isEven(2));
---------------------------------
true
console.log(isEven(3));
----------------------------------
false

15.多变量分配

像Python一样,JavaScript还可以使用这种巧妙的解构技术在同一行代码中同时分配多个变量。

var [a,b,c,d] = [20,14,30,"COD"]
console.log(a,b,c,d)
------------------------------------
20 14 30 COD

16.交换两个变量

一些简单的方法来交换两个变量,而不需要使用第三个变量,只需要一行代码。

a = 5
b = 7
---------方法 1---------
b = [a, a = b][0]; // One Liner 
----------方法 2-----------
[a,b] = [b,a];
console.log("A=",a)
console.log("B=",b)

17.字符串反转

这个相对来说比较简单,今天写上来的相对比较简单的

const reverse = str => str.split('').reverse().join('');
console.log(reverse('javascript'));
----------------------------------------
tpircsavaj

18.生成随机十六进制代码

您可以使用这个一行程序挑战自己作为web开发人员的能力。这个一行程序将生成一个随机的十六进制代码。

console.log('#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0'));

------------------1st Run------------
#48facd
------------------2nd Run-------------
#93d806
------------------3rd Run-------------
#9072f9

19.获取随机布尔值

Javascript中的 Math.random 函数可用于生成范围之间的随机数。要生成一个随机布尔值,我们需要随机获取一个介于0到1之间的数字,然后检查它是否大于或小于0.5。

const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());
---------------------------------------
false

20.随机排列数组

在JavaScript中,我们没有一个模块,因为python有 random.shuffle(),但还是有一种方法可以在一行代码中洗牌一个数组。

var arr = ["A", "B", "C","D","E"];
console.log(arr.slice().sort(() => Math.random() - 0.5))
------------------------------
[ 'C', 'B', 'A', 'D', 'E' ]

21.生成范围内的随机数

在很多情况下,我们需要在一个范围内生成一个随机数。Math.random函数可以帮助我们生成随机数,然后将其转换为所需的范围。

max = 20
min = 10
var a = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(a)
-------------------------
17

22.随机生成id

如果你想随机生成id,下面这种方法比较适合你

const a = Math.random().toString(36).substring(2);
console.log(a)
----------------------------
72pklaoe38u


24人点赞 返回栏目 提问 分享一波

小礼物走一波,支持作者

还没有人赞赏,支持一波吧

留言(问题紧急可添加微信 xxl18963067593) 评论仅代表网友个人 留言列表

暂无留言,快来抢沙发吧!

本刊热文
网友在读
手机扫码查看 手机扫码查看