天天看點

7個JavaScript代碼片段,可以快速解決你程式設計中遇到的問題

7個JavaScript代碼片段,可以快速解決你程式設計中遇到的問題

英文 | https://javascript.plainenglish.io/7-useful-javascript-code-snippets-for-solving-coding-problems-c146e768bb41

翻譯 | 楊小二

衆所周知,JavaScript 是當今比較流行的程式設計語言之一,尤其是在 Web 開發方面。JavaScript 生态系統充滿了各種架構和庫,可以讓開發人員的生活更輕松。

但是,有時你不需要總是使用架構和庫來編寫 JavaScript 代碼。這就是為什麼在本文中,我想與你分享一些有用的 JavaScript 代碼片段來解決一些簡單的問題。

現在,就讓我們開始吧。

1、數組中的随機項

要從數組中傳回随機項或元素,我們需要使用具有 length 屬性的 Math.random() 和 Math.floor() 方法。

下面是一個例子:

let cars = ['Ford', 'Ferrari', 'BMW', 'Toyota'];
//Store a random array item in a variable.
let randomCar = cars[Math.floor(Math.random()* cars.length)];
//Print the random item from car array.
console.log(randomCar); //returns random element      

每當你再次運作代碼時,數組中的一個新随機元素就會列印到控制台。

2、檢查參數是否為數字

在下面的示例中,我們将使用三種方法 isNaN() 、 parseFloat() 和 isFinite() 來檢查函數參數是否為數字。

看一看:

function isNumber(number){
   return !isNaN(parseFloat(number)) && isFinite(number);
}
isNumber(5); //returns true
isNumber("Hello"); //returns false      

3、輕松反轉字元串

為了輕松反轉字元串,我們可以使用 reverse() 方法,但它僅适用于數組。這就是為什麼我們将使用 split() 将字元串轉換為數組,将其反轉,然後使用方法 join() 将其轉換回字元串。

下面是代碼示例:

let str = "Hello World";
str.split("").reverse().join(""); //returns 'dlroW olleH'      

4、二進制轉普通文本

要使用 JavaScript 将二進制代碼轉換為普通文本,我們需要先将二進制代碼轉換為十進制數。然後,我們将使用 String.fromCharCode() 方法将小數轉換為文本。

下面是一個例子:

function binaryToText(binary) {
//Convert binary into an array of strings separated by whitespace.    binary = binary.split(' ');
//convert from binary to decimals to text. 
return binary.map(elem => String.fromCharCode(parseInt(elem, 2))).join("");
}
binaryToText("01001001 00100000 01101100 01101111 01110110 01100101 00100000 01001010 01100001 01110110 01100001 01010011 01100011 01110010 01101001 01110000 01110100"); //returns I love JavaScript
binaryToText("01010100 01101000 01100001 01110100 00100111 01110011 00100000 01100111 01101111 01101111 01100100"); //returns That's good      

5、計算一個數的階乘

為了計算一個數的階乘,我們将使用帶有三元運算符的箭頭函數。就像你在下面的例子中看到的那樣:

const getFactorial = num =>
 num < 0 ?
 (()=>{
   throw new TypeError('No negative numbers');
 })()
 : num <= 1
  ? 1
  : num * getFactorial(num - 1);
//examples:
getFactorial(0); //returns 1
getFactorial(5); //returns 120      

6、從數組中傳回最小值和最大值

通過使用帶有擴充運算符的 Math.max() 和 Math.min() 方法。我們可以輕松地從數字數組中擷取最大和最小數字。

下面是代碼示例:

let nums = [67, 99, 4, 2, 77];
//minimum number
Math.min(...nums); //returns 2
//maximum number
Math.max(...nums); //returns 99      

7、檢查性能

如果你想檢查一段代碼運作和執行需要多長時間,你可以像我們在下面的例子中那樣使用 performance.now() 方法:

var start = performance.now();
//Your piece of code starts here
for(let i = 0; i < 100; i++){
 console.log(i);
}
//Your piece of code ends here
var duration = performance.now() - start;
console.log(duration); //54.89999961853027      

這樣做,會提升程式性能,像例子中的 for 循環執行隻用了 54.89ms。

結論

正如你在上面看到的,這些是在某些情況下,你可能需要在 JavaScript 中使用的一些有用的代碼片段。你不需要總是使用庫。

希望我的内容對你有用,感謝你閱讀這篇文章。

學習更多技能

請點選下方公衆号

繼續閱讀