15个工作中会用到的 JS 代码片段

英文 |
翻译 | 杨小二
是你学习编程,可以选择学习的最流行的语言之一 。当我开始学习时,我总是在 、 和其他博客上寻找优秀解决方案来处理实际开发中遇到的问题 。在本文中,我将分享我发现的15个有用的 代码段 。
1、不循环地重复一个字符串
此代码段将展示如何在不使用任何循环的情况下重复字符串 。我们将通过中的()方法来构建一个数字,该数字将作为你需要的数字副本 。
//Old Methodfor(var i = 0; i<5; i++){console.log("????") // ????????????????????}// Best Methodconsole.log("????".repeat(5)) //????????????????????
2、数组的差异
这一个很棒的代码片段,可以帮助你区分数组 。当你处理一个长数组并想知道该数组的相似之处或不同之处时,这个会派上用场 。
下面的示例代码将帮助你更加清晰理解,你可以在你的项目中自由使用这些代码 。
//Code Examplefunction ArrayDiff(a, b){const setX = new Set(a)const setY = new Set(b)return [...a.filter(x=>!setY.has(x)),...b.filter(x=>!setX.has(x))]}const Array1 = [1, 2, 3];const Array2 = [1, 2, 3, 4, 5];console.log(ArrayDiff(Array1, Array2)) // [4, 5]
3、 是否为 Json
当你需要检查数据是字符串,还是 JSON 时,此代码段将派上用场 。假设你从服务器端获得响应并解析该数据,你需要检查它是 JSON 还是字符串 。下面的代码片段 。
//Code Examplefunction isJSON(str){try{JSON.parse(str)}catch{return false}return true}var str = "JavaScript"console.log(isJSON(str)) //false
4、简短的 .log
厌倦了一遍又一遍地编写 .log() 吗?不用担心,这个片段会为你节省大量时间来编写长长的 .log() 。
var cl = console.log.bind(document)cl(345) cl("JAVASCRIPT")cl("PROGRAMMING") <--Give it a try!-->
5、全部替换
此代码段将向你展示如何替换字符串中的单词,而无需迭代每个单词、匹配它并放置新单词 。下面的代码片段使用了 (Word, New Word ) 方法 。
//Code Examplevar str = "Python is a Programming Language, Python is a top programming language and favourite of every developer"str = str.replaceAll("Python", "JavaScript")console.log(str) // JavaScript is a Programming Language, JavaScript 5is a top programming language and favourite of every developer
6、将数字转换数字数组
此代码段可用于将数字转换为数字数组 。使用带有 map 的扩展运算符,我们可以在一秒钟内完成此操作 。试一试:
//example codeconst NumberToArray = number => [...`${number}`].map(i => parseInt(i));console.log(NumberToArray(86734)) //[8,6,7,3,4]console.log(NumberToArray(1234)) //[1,2,3,4]console.log(NumberToArray(9000)) //[9,0,0,0]
7、检查数字是否为2 的幂
现在,此代码段将帮助你检查是否为 2 的幂 。尝试从下面的示例代码中理解它 。
//example codeconst isPowerTwo = n => !!n &&( n & (n - 1) ) == 0;console.log(isPowerTwo(3)) //trueconsole.log(isPowerTwo(8)) //trueconsole.log(isPowerTwo(4)) //true
8、数字转换为二进制
此代码段将使用 () 方法简单地将数字转换为二进制 。看看下面的代码示例 。
var n1 = 500console.log(n1.toString(2)) // 111110100var n2 = 4console.log(n2.toString(2)) // 100var n3 = 5004console.log(n3.toString(2)) // 1001110001100
9、返回数组的幂集