在前面,我們也分享了很多關于JavaScript的技巧,今天我們再來看看這10個超級實用的技巧,希望能夠對你有所幫助。
1.過濾錯誤值
如果要過濾數組中的false、0、null、undefined等值,可以這樣做:
const array = [1, 0, undefined, 6, 7, ‘’, false]; array.filter(Boolean);
2.判斷簡化
如果有這樣的判斷:
if(a === undefined || a === 10 || a=== 15 || a === null) { //… }
可以使用數組來簡化這個判斷邏輯:
if([undefined, 10, 15, null].includes(a)) { //… }
這樣,代碼會更簡單,更容易擴展。如果還有判斷需要等于a,可以直接加到數組中。
3.初始化數組
如果需要初始化一個指定長度的一維數組并指定一個默認值,可以這樣完成:
const array = Array(6).fill(‘’); // [‘’, ‘’, ‘’, ‘’, ‘’, ‘’]
如果需要初始化一個指定長度的二維數組并指定一個默認值,可以這樣做:
const matrix = Array(6).fill(0).map(() => Array(5).fill(0));
4.清空數組
要清除數組,請將數組的長度設置為 0:
let array = [“A”, “B”, “C”, “D”, “E”, “F”] array.length = 0 console.log(array) // []
5.連接數組
我們需要連接幾個數組,我們可以使用擴展運算符:
const start = [1, 2] const end = [5, 6, 7] const numbers = [9, …start, …end, 8] // [9, 1, 2, 5, 6, 7 , 8]
或者使用數組的 concat() 方法:
const start = [1, 2, 3, 4] const end = [5, 6, 7] start. concat(end); // [1, 2, 3, 4, 5, 6, 7]
但是在使用 concat() 方法時,如果要合并的數組很大,concat() 函數在創建單獨的新數組時會消耗大量內存。這時候可以使用以下方法合并數組:
Array.prototype.push.apply(start, end)
這樣,顯著減少了內存使用量。
6.將數組元素轉換為數字
如果你有一個數組,并且需要將數組中的元素轉換為數字,可以使用 map 方法來實現:
const array = [‘12’, ‘1’, ‘3.1415’, ‘-10.01’]; array.map(Number); // [12, 1, 3.1415, -10.01]
這樣,map 將在遍歷數組時對數組的每個元素執行 Number 構造函數并返回結果。
7.將類數組轉換為數組
可以使用以下方法將類似數組的參數轉換為數組:
Array.prototype.slice.call(arguments);
除此之外,還可以使用展開運算符來實現:[…arguments]
8.縮短console.log()
每次調試都要寫很多console.log()會比較麻煩,可以用下面的形式來簡化這段代碼:
const c = console.log.bind(document) c(321) c(“hello mygod”)
每次執行 c 方法時都會這樣做。
9.刪除一個數組元素
如果我們想刪除數組中的一個元素,可以使用delete來實現,但是刪除后的元素會變成undefined,不會消失,執行的時候會消耗很多時間,大部分情況下不能滿足我們要求。所以,你可以使用數組的 splice() 方法來移除數組元素:
const array = [“a”, “b”, “c”, “d”] array.splice(0, 2) // [“a”, “b”]
10.檢查對象是否為空
我們需要檢查對象是否為空,我們可以使用如下:
Object.keys({}).length // 0
Object.keys({key: 1}).length // 1
Object.keys() 方法用于獲取對象的鍵并返 回包含這些鍵值的數組。如果返回的數組長度為 0,則對象必須為空。