
英文 | 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 中使用的一些有用的代碼片段。你不需要總是使用庫。
希望我的内容對你有用,感謝你閱讀這篇文章。
學習更多技能
請點選下方公衆号