摘要:試著用數(shù)組的構(gòu)造方法創(chuàng)建一個數(shù)組,你就會明白我的意思。我們常用的解決方法是傳遞或自從把當(dāng)做一個的時候。根據(jù)中對擴展運算符的介紹,有一個更簡潔的方法可以將空參數(shù)傳遞給一個方法。
每天學(xué)習(xí)一個JS小知識
1. 迭代一個空數(shù)組
JavaScript 中直接創(chuàng)建的數(shù)組是松散的,以至于會有很多坑。試著用數(shù)組的構(gòu)造方法創(chuàng)建一個數(shù)組,你就會明白我的意思。
const arr = new Array(4); [undefined, undefined, undefined, undefined]
你會發(fā)現(xiàn),通過一個松散的數(shù)組去循環(huán)調(diào)用一些轉(zhuǎn)換是非常難的。
const arr = new Array(4); arr.map((elem, index) => index); [undefined, undefined, undefined, undefined]
想要解決這個問題,你可以使用在創(chuàng)建新數(shù)組的時候使用 Array.apply。
const arr = Array.apply(null, new Array(4)); arr.map((elem, index) => index); [0, 1, 2, 3]
2. 給方法傳一個空參數(shù)
如果你想調(diào)用一個方法,并不填其中的一個參數(shù)時,JavaScript 就會報錯。
method("parameter1", , "parameter3"); Uncaught SyntaxError: Unexpected token
我們常用的解決方法是傳遞 null 或 undefined.
method("parameter1", null, "parameter3") // or method("parameter1", undefined, "parameter3");
自從 JavaScript 把 null 當(dāng)做一個 object 的時候。根據(jù) ES6 中對擴展運算符的介紹,有一個更簡潔的方法可以將空參數(shù)傳遞給一個方法。正如前文所提到的,數(shù)組是松散的,所以給它傳空值是可以的,我們正式用到了這個優(yōu)點。
method(...["parameter1", , "parameter3"]); // works
數(shù)組去重
我一直不明白為什么數(shù)組不提供一個內(nèi)置函數(shù)可以讓我們方便的取到去重以后的值。擴展運算符幫到了我們,使用擴展運算符配合 Set Spread operators are here for the rescue. Use spread operators with the Set 可以生成一個不重復(fù)的數(shù)組。
const arr = [...new Set([1, 2, 3, 3])]; [1, 2, 3]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/96430.html
摘要:的數(shù)組對象中有很多有用的方法,的函數(shù)在某些方面非常的方便強大。函數(shù)的使用例子求數(shù)組中每個元素的平方根的值為的值仍為應(yīng)用下面代碼展示了如何去遍歷用得到的動態(tài)對象集合。 js的Array數(shù)組對象中有很多有用的方法,js的map函數(shù)在某些方面非常的方便強大。 map() 方法創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果。 let numbers = [1, 5,...
摘要:最近在調(diào)試頁面時頻繁與打交道,在復(fù)雜場景下,傳參數(shù)就需要對大量參數(shù)進行處理。兩者等效長度為的空數(shù)組同上是的內(nèi)置對象,是的,雖然是數(shù)組,也是一種對象使用判斷會返回而方法能更精準(zhǔn)判斷其類型。 最近在調(diào)試JSP頁面時頻繁與ajax打交道,在復(fù)雜場景下,ajax傳參數(shù)就需要對大量參數(shù)進行處理。這時我才發(fā)現(xiàn),熟練Array的處理真的會使開發(fā)輕松不少!! 關(guān)于Array Array的創(chuàng)建很靈活,可...
摘要:類似的情況還有,方法和方法等。今天我說一個最簡單。代碼如下和也可以實現(xiàn),但是生成的是一個整數(shù),如下分割線其它類型數(shù)據(jù)轉(zhuǎn)布爾數(shù)據(jù)下面的轉(zhuǎn)換,大家一看就明白了,不多說。緩存變量循環(huán)緩存分割線第一段就是每一次循環(huán)的時候,都要查詢一次。 1.前言 從大學(xué)到現(xiàn)在,接觸前端已經(jīng)有幾年了,感想方面,就是對于程序員而言,想要提高自己的技術(shù)水平和編寫易于閱讀和維護的代碼,我覺得不能每天都是平庸的寫代碼,...
摘要:簡單例子一個較為常用的場景就是累加或累乘輸出數(shù)組元素的乘積輸出數(shù)組元素的乘積簡寫形式輸出數(shù)組元素的乘積形式,營造復(fù)雜的逼格用在數(shù)組降維扁平化處理的例子中注方法用于連接兩個或多個數(shù)組。 看到一個提問的回答巧妙地使用了map/reduce操作,很優(yōu)雅,所以來學(xué)習(xí)和總結(jié)一下javascript自帶的map/reduce的使用技巧,文章不會講的很深,純當(dāng)科普一下知識點,如有解釋的不正確的地方,...
摘要:檢測數(shù)組或者檢測對象的原型鏈?zhǔn)欠裰赶驑?gòu)造函數(shù)的對象或者終極大招注意不可以用此方法檢查常用方法合并多個數(shù)組,返回合并后的新數(shù)組,原數(shù)組沒有變化。返回值是由被刪除的元素組成的一個數(shù)組。 定義數(shù)組 const array = [1, 2, 3]; 或者 const array = new Array(); array[0] = 1; 建議盡量使用第一種形式定義數(shù)組,采用new的形式在大量的數(shù)...
閱讀 2723·2023-04-25 22:15
閱讀 1804·2021-11-19 09:40
閱讀 2149·2021-09-30 09:48
閱讀 3214·2021-09-03 10:36
閱讀 2026·2021-08-30 09:48
閱讀 1854·2021-08-24 10:00
閱讀 2725·2019-08-30 15:54
閱讀 699·2019-08-30 15:54